systemctl 在启动服务时的 常用参数
🔹 systemctl
的常见子命令
在启动服务时,最常用的是这些:
start:立即启动服务(不会开机自启)。
stop:停止服务。
restart:重启服务(等价于 stop + start)。
reload:让服务重新加载配置(如果支持的话,不会重启进程)。
enable:设置开机自启(写入软链接到
*.wants/
目录)。disable:取消开机自启。
status:查看服务状态。
is-enabled:查看是否开机自启。
is-active:查看当前是否正在运行。
🔹 systemctl
的常见参数
这些参数可以和 start/enable/...
等子命令一起用:
1. 作用域相关
--system
默认模式,管理 系统级服务。等价于不加参数。
服务文件在/etc/systemd/system/
或/lib/systemd/system/
。--user
管理 用户级服务。
服务文件在~/.config/systemd/user/
或/usr/lib/systemd/user/
。
运行在用户的 systemd 实例下。--global
修改 所有用户的用户服务 配置(很少用)。
例如:systemctl --global enable xxx.service
→ 所有用户的~/.config/systemd/user/default.target.wants/
都会有对应软链。
2. 运行时控制
--now
结合enable/disable/mask/unmask
使用,表示 立即执行。
例如:systemctl enable --now nginx
= 启动 nginx 并设置开机自启。
--no-block
不等待操作完成,命令立即返回。
适合需要后台继续执行的情况。--wait
等待操作真正完成才返回(默认行为)。
3. 配置/调试相关
--failed
查看所有失败的服务:systemctl --failed
--type=
过滤单元类型:systemctl --type=service
--all
显示所有服务(包括未加载/停用的)。--no-pager
输出不通过less
分页,直接全部显示。
例如:systemctl status nginx --no-pager
--no-legend
去掉表格的表头。
4. 危险操作
mask
禁用服务(比disable
更彻底,会让启动失败,除非手动unmask
)。
例如:systemctl mask NetworkManager
unmask
解除 mask。
🔹 举例
启动并设置开机自启
systemctl enable --now firefox-kiosk.service
在用户会话里启动
systemctl --user start firefox-kiosk.service
彻底禁用某服务
systemctl mask --now bluetooth.service
查看所有失败服务
systemctl --failed --no-pager
✅ 总结:
常用的就是 作用域(--system
、--user
)、立即执行(--now
)、输出控制(--no-pager
)、禁用级别(disable
vs mask
)。