Linux查看开机自启服务systemctl命令大全 Linux
前言
排查开机慢、多余服务自启时,需要列出所有开机自启的服务并按需关闭。systemctl 是 systemd 系统管理服务的统一命令,取代了旧的 chkconfig。本文讲解列出自启服务、查看单个服务状态、设置自启/取消自启、查看服务依赖的完整命令。
操作步骤
1. 列出所有开机自启服务
systemctl list-unit-files --type=service --state=enabled
2. 列出全部服务及状态
systemctl list-unit-files --type=service
3. 查看单个服务是否自启
systemctl is-enabled nginx
4. 设置开机自启
systemctl enable nginx
5. 取消开机自启
systemctl disable nginx
6. 查看服务当前运行状态
systemctl status nginx
7. 查看服务日志与启动耗时
systemctl list-units --type=service
journalctl -u nginx
常见坑
- enable 只是设置自启,不立即启动服务,启动要加 start。
- disable 只取消自启,不会停止当前正在运行的服务。
- mask 会彻底禁用服务,比 disable 更彻底,慎用。
- 服务名带 .service 后缀可省略,但别名容易搞错。
- 很多服务是 socket 激活或依赖触发,enabled 列表不等于全部运行服务。
- 第三方软件自己的自启项可能不在 systemd,要查 rc.local 或应用配置。
- 误关关键服务(如 sshd、网络)会导致远程失联。
总结
查自启用 list-unit-files --state=enabled,用 enable/disable 管理开机项。enable 不等于 start,两者分开。关闭服务前先确认用途,保留 sshd、网络等关键项,避免远程管理失效。定期清理无用自启可加快开机速度、减少攻击面。
遇到问题加QQ23979811 协助处理