systemd由来
起初Linux启动一直采用init启动
用如下命令启动服务
# /etc/init.d/mysql start $ service mysql start
但是这有两种方法有两个缺点
启动时间过长。init进程是串行启动,只有一个进程启动完,才会启动下一个进程
启动脚本复杂。init进程只是执行启动脚本,不管其他事情。脚本需要自己处理各种情况,这往往使得脚本变得很长。
systemd就是为了解决这个问题诞生的。它的设计目标是,为系统启动和管理提供一个完整的管理方案。
根据Linux的惯例,d是守护进程(daemon)的缩写,systemd就是守护整个系统。
系统管理
systemd有一组命令涉及系统方方面面的管理
systemctl
systemctl 用于管理系统
#重启系统
$ systemctl reboot
#关闭系统
$ systemctl poweroff
#CPU停止工作
$ systemctl halt
#暂停系统
$ systemctl suspend
#系统冬眠
$ systemctl hibernate
#系统进入交互式休眠状态
$ systemctl hybrid-sleep
#进入救援模式
$ systemctl rescue
systemd-analyze
systemd-analyze 用于查看系统启动耗时
#查看启动耗时
$ systemd-analyze
#查看每个服务启动耗时
$ systemd-analyze blame
#显示瀑布状的启动过程流
$ systemd-analyze critical-chain
#显示指定服务的启动流
$ systemd-analyze critical-chain xxx.service
更新中...