守护进程是在执行各种任务的后台等待或运行的进程。一般情况下,守护进程在系统引导时自动启动并持续到关机或者手动将它停止。按照惯例,守护进程名称以d结尾。
在红帽Linux中,系统第一个启动的进程是systemd守护进程,它会通过使用单元(用于定义系统知道如何管理的对象)来管理不同类型的对象:
单元类型 | 作用 |
.service服务单元 | 代表系统服务,通过它启用经常访问的守护进程 |
.socket套接字单元 | 用于延迟守护进程启动或者按需启动 |
.path路径单元 | 将服务的激活推迟到特定文件系统更改后 |
systemctl命令
想要管理单元,可以使用systemctl单元。例:
1.显示可用单元类型
systemctl -t help
2.列出可用特定类型单元(仅列出激活状态为active的单元)
systemctl list-units --type==单元类型(service/path/socket)
想要列出全部状态:
systemctl list-units --type==单元类型(service/path/socket) --all
3. 列出已加载和活动的单元
systemctl
4.若想知道系统上所有安装的单元
systemctl list-unit-files
对于服务来说,具有4种状态,enable(系统引导时启动),disable(系统引导时不启动),static(服务只能由启动的服务启动),mask(服务被屏蔽)
我们可以使用命令查看服务状态
systemctl status name.type
但如果你想要更改它,你必须具有管理员权限:
1.启动服务
systemctl start name.type
2.停止服务
systemctl stop name.type
3.重新启动服务(会获得新的pid)
systemctl restart name.type
4.重新加载服务
systemctl reload name.type
5.常用
systemctl reload-or-restart name.type
6.某些服务会要求运行其他服务,这无疑建立了依赖关系,如果不破坏掉依赖关系,它将自动启动,导致无法停止服务。你需要将它的依赖项全部关闭方可停止。因此你可以使用如下命令查看依赖关系,反向依赖关系使用--reverse选项
systemctl list-dependencies name.type
7.屏蔽服务,部分服务会发生冲突,将服务屏蔽可以停止服务启动
systemctl mask name.type
本质:创建软链接使服务单元指向空
8.取消屏蔽
systemctl unmask name.type
9.配置服务为系统启动时启动 /不启动
systemctl enable/disable name.type
systemctl enable/disable --now name.type //在上条命令基础上添加即时启动/停止
10.判断服务启动状态
systemctl is-enabled name.type