一、systemd基本介绍
1.作用
systemd守护进程管理Linux的启动,一般包括服务启动和服务管理,它可以在系统引导时以及运行中的系统上激活系统资源、服务器守护进程和其他进程
2.守护进程
守护进程是执行各种任务的后台等待或运行的进程,一般情况下,守护进程在系统引导时自动启动并持续运行至关机或被手动停止,Linux中许多守护进程的名称以字母d结尾
3.systemd提供的功能
并行化功能,提高系统的启动速度
按需启动守护进程,而不需要单独的服务
自动服务依赖关系管理,可以防止长时间超市
利用Linux控制组一起追踪相关进程的方式
二、常用的单元类型及其命令
1.介绍
(1)服务单元具
.service扩展名,代表系统服务。这种单元用于启动经常访问的守护进程
(2)套接字单元
.socket扩展名,代表systemd应监控的进程间通信(IPC)套接字,如果客户端连接套接字,systemd将启动一个守护进程并将连接传递给它。套接字单元用于延迟系统启动时的服务启动,或者按需启动不常使用的服务
(3)路径单元
.path扩展名,用于将服务的激活推迟到特定文件系统更改发生之后,通常用于使用假脱机目录的服务
三、相关命令
1.列出服务单元命令
(1)systemctl list-units命令
选项:--tpye=单元类型 :列出指定的单元类型
--all:列出所有服务
--state:服务状态
命令所输出的列的解释
UNIT:服务单元名称
LOAD:systemd是否正确解析了单元的配置并将该单元加载到内存中
ACTIVE:单元的最高级别激活状态,表明着单元是否成功启动
SUB:单元的低级别激活状态
DESCRIPTION:单元的简短描述
(2)systemctl命令
不带任何参数的systemctl命令可以列出已加载和活动的单元
(3)systemctl list-untis-file
查看所有已安装的单元文件的状态
2.查看服务状态
(1)systemctl status 服务名.类型
(2)服务单元信息
Loaded:服务是否已经加载到内存中
Active:服务单元是否正在运行,以及运行的时间
Main PID:服务的主进程ID,包括命令名称
Status:有关该服务的其他信息
(3)systemctl输出中的服务状态
loaded:单元配置文件已处理
active(running):正在通过一个或多个持续进程运行
active(exited):已成功完成一次性配置
active(waiting):运行中,但正在等待事件
inactive:不在运行
enable:在系统引导时启动
disable:未设为在系统引导时启动
static:无法启动,但可以由某一启用的单元自动启动
3.验证服务的状态
(1)systemctl is-active 服务.类型
验证服务单元是否处于活动状态
(2)systemctl is-enable 服务.类型
验证服务单元是否已启用在系统引导期间自动启动
(3)systemctl is-failed 服务.类型
验证服务单元是否在启动过程中失败
如果单元正常运行,该命令返回active,如果错误,返回failed,如果被停止,返回unknown或inactive
四、控制系统服务
1.启动和停止服务
命令:systemctl start/stop 服务.类型
2.重新启动和加载服务
systemctl restart/reload 服务.类型
如果不确定服务是否具有重新加载配置文件更改的功能,可以使用
systemctl reload-or-restart
3.列出单元依赖项目
systemctl list-dependencies 服务.类型
如果需要反向列出依赖关系(依赖制定单元的单元),使用
systemctl list-dependencies --reverse 服务.类型
4.屏蔽未屏蔽的服务
systemctl mask 服务.类型
取消屏蔽:systemctl umask 服务.类型
屏蔽操作会在配置目录中创建指向/dev/null文件连接,该文件可能阻止服务启动
5.使服务在同引导时启动或停止
systemctl enable 服务.类型
取消开机启动:systemctl disable 服务.类型