如何使用systemd命令来管理Linux系统(一)
因为linux操作系统里出现的这一个新人,PID 1被“systemd”占据了,这能通过pstree命令看到。
[root@linoxide ~]# pstree
那么现在让我们来探索systemd擅长什么,它又有多大的可能性成为sysVinit的新的替代品。
更快启动
- 01
sysvinit一次一个串行地启动进程。 而Systemd则并行地启动系统服务进程,并且最初仅启动确实被依赖的那些服务,极大地减少了系统引导的时间。 你可以用下面的命令看到系统引导用时: [root@linoxide ~]# systemd-analyze
- 02
使用 time 参数也能够显示同样的内容。 [root@linoxide ~]# systemd-analyze time
- 03
如果你想以进程初始化所占用时间排序打印出所有正在运行的单元列表,那么systemd-analyze命令可以帮助你完成这个任务。 [root@linoxide ~]# systemd-analyze blame 上面的截屏只显示了小部分进程,你可以就像less分页器那样用箭头滚动列表。
systemctl 命令
- 01
systemctl命令是自systemd出现以来被广泛讨论的命令。你可以通过这个命令管理你的整个系统,让我们通过探究这个命令来更进一步。
- 02
列出单元 systemctl命令可以带上list-units,也可以什么选项都不带来列出所有正在运行的单元。 [root@linoxide ~]# systemctl 或 [root@linoxide ~]# systemctl list-units
- 03
列出失败的单元 运行失败的单元可以用带--failed选项的命令显示出来。 [root@linoxide ~]# systemctl --failed 你可以在这篇文章很多地方看到systemctl的用法。
管理服务
- 01
激活的服务 所有被激活的服务可以同下面这条命令来查看。 [root@linoxide ~]# systemctl list-units -t service
- 02
服务状态 在sysvinit中,我们可以用“service”命令来管理服务,但在systemd中,我们用systemctl这个命令。 我们可以用下面这个命令来查看服务是否在运行。 [root@linoxide ~]# systemctl status dnsmasq
- 03
启动一个服务 用下面这条命令来启动服务。 [root@linoxide ~]# systemctl start dnsmasq 对应于service命令,这个命令不进行输出。但是毋庸置疑,我们可以通过再次查看这个刚刚被启动的服务的status(状态)来确认他是否被成功地启动了。
- 04
停止一个服务 现在聪明的你一定知道怎么在systemd下用命令来关闭服务了吧。 [root@linoxide ~]# systemctl stop dnsmasq
- 05
重启一个服务 类似的,重启系统服务是用‘systemctl restart’来管理的。 [root@linoxide ~]# systemctl restart dnsmasq
- 06
未完待续!