Linux中systemd与systemctl管理指南
一、systemd 概述
1. 系统启动流程
- 开机自检 → 2. MBR引导 → 3. GRUB菜单 → 4. 加载Linux内核 → 5. 运行
systemd
2. 核心功能
- 并行启动:加速系统初始化
- 统一管理:控制启动过程及运行时的系统资源、守护进程(后台服务程序)
- 按需启动:仅在需要时激活守护进程
- 依赖管理:自动处理服务间依赖(如在网络不可用时不启动网络服务)
- 进程跟踪:通过 Linux 控制组(cgroups)管理进程关系
二、systemctl 管理单元
1. 单元类型(Unit Types)
查看命令 :systemctl -t help
类型 | 描述 |
---|---|
.service |
系统服务(最常用) |
.socket |
进程间通信套接字 |
.path |
文件系统路径触发器 |
.target |
启动目标(类似运行级别) |
2. 单元重要操作命令
-
状态
systemctl status 服务名 # 查询详细状态
-
启动
systemctl start 服务名 # 启用服务
-
停止
systemctl stop 服务名 # 停止当前状态
-
重启(不推荐使用)
systemctl restart 服务名 # 先关,再改,后启,会中断服务
-
重新加载(推荐使用)
systemctl reload 服务名 # 不会中断服务,直接加载新配置 systemctl daemon-reload # 重新加载所有单元服务
-
禁用
systemctl disable 服务名 # 下一次状态为禁用 # 在启动时系统会读取的目录下移除软链接 Removed symlink /etc/systemd/system/multi-user.target.wants/chronyd.service.
-
下一次状态启用
systemctl enable 服务名 # 下一次状态为启用 # 在启动时系统会读取的目录下创建软链接 Created symlink from /etc/systemd/system/multi-user.target.wants/chronyd.service to /usr/lib/systemd/system/chronyd.service.
-
屏蔽
systemctl mask 服务名 # 防止管理员意外启动这些冲突的服务 #把文件扔进空目录 Created symlink from /etc/systemd/system/chronyd.service to /dev/null.
-
解除屏蔽
systemctl unmask 服务名 # 恢复服务可用性 #恢复到原文件 Removed symlink /etc/systemd/system/chronyd.service.
3. 列出单元状态命令
命令 | 效果说明 |
---|---|
systemctl |
查看系统启动时所有单元的状态 |
systemctl list-unit-files |
查看系统中所有单元及当前状态 |
systemctl --type=service |
只显示服务单元类型的状态 |
systemctl list-units --type=service |
列出所有已加载且处于活动状态的服务单元 |
systemctl is-active 服务名 |
查询具体某个服务是否处于激活状态 |
systemctl is-enabled 服务名 |
查询具体某个服务下次启动的状态 |
在多数时刻,主要还是查看状态使用
systemctl status 服务名
命令