在Linux中,systemd是与SysV和LSB初始化脚本兼容的系统和服务管理器,开启systemd服务可以提供基于守护进程的按需启动策略。
systemd服务支持快照和系统状态恢复,维护挂载和自挂载点,使得个服务之间基于从属关系实现更为精细的逻辑控制,具有更高的并行性能。
systemd服务的开启和监督系统是基于unit的概念,unit由一个与配置文件对应的名称和类型组成,unit通常有以下几种类型:
systemd具备以下特性:
systemd可以通过systemctl命令来对系统服务进行运行、关闭、重启、显示、启用或禁用的操作。systemctl命令与sysvinit命令的功能相似,但是建议用systemctl来进行系统服务管理。
Systemctl和sysvinit的区别这里做一个简单对比:
若是用户需要查看当前正在运行的服务,可以通过以下命令来进行查看:
systemctl list-units --type services #若是要查看所有服务,需要在命令后添加-all参数
若是用户需要查看某个服务的状态,可以通过如下命令来进行查看:
systemctl status name.service
其中的命令参数说明如下:
Loaded:说明服务是否被加载,同时显示对应的绝对路径是否启用
Active:说明服务是否正在运行,并显示时间节点
Main PID:相应系统服务PID值
CGroup:相关控制组的其他信息
systemctl命令可以对系统服务进行运行、关闭、重启、显示、启用或禁用等操作,命令如下:
运行服务:systemctl start name.service
关闭服务:systemctl stop name.service
重启服务:systemctl restart name.service
启用服务:systemctl enable name.service
禁用服务:systemctl disable name.service
Systemd亦可通过systemctl命令对系统进行关机、重启、休眠等操作,具体命令如下:
关闭系统:
systemctl poweroff #关闭系统并下电
systemctl halt #关闭系统但不下电
重启系统:
systemctl reboot
系统待机:
systemctl suspend
系统休眠:
systemctl hibernate
systemctl hybrid-sleep #使系统待机并处于休眠状态