Linux 开机启动服务由 systemctl 管理,可使用 is-enabled 查看自启状态(enabled/disabled/static/masked),enable/disable 设置或取消自启,start/stop/restart/reload 控制当前运行,status 和 journalctl 查看状态与日志。

Linux 开机启动服务主要靠 systemctl 管理,它是 systemd 的核心命令 工具,取代了旧版的 service 和 chkconfig。掌握几个关键命令,就能轻松控制服务的启用、禁用、启动、停止和状态查看。
查看开机是否自动启动
判断一个服务是否会在系统启动时自动运行,用:
systemctl is-enabled 服务名
常见返回值有:
• enabled —— 已设为开机自启
• disabled —— 未启用自启
• static —— 不能直接启用(通常被其他服务依赖触发)
• masked —— 被屏蔽(禁止启动,连手动也不行)
设置或取消开机自启
让服务随系统启动自动运行:
systemctl enable 服务名
取消开机自启:
systemctl disable 服务名
注意:
• enable/disable 操作修改的是 /etc/systemd/system/ 下的软链接,不影响服务当前运行状态
• 若服务当前正在运行,disable 后重启才会真正不启动;如需立即停用,要额外执行 systemctl stop 服务名
立即启动、停止、重启服务
这些操作只影响当前会话,不改变开机行为:
- systemctl start 服务名 —— 启动服务(不设自启)
- systemctl stop 服务名 —— 停止服务(已启用自启的,下次重启仍会起来)
- systemctl restart 服务名 —— 先停后启,常用于重载配置
- systemctl reload 服务名 —— 仅重载配置(服务不中断,前提是服务支持 reload)
查看服务状态与日志
确认服务是否运行、有无报错,最常用:
systemctl status 服务名
它会显示:当前状态(active/inactive)、启用状态(enabled/disabled)、最近日志片段。
查更详细的启动过程或错误信息,用:
journalctl -u 服务名 -n 50 –no-pager
• -n 50 显示最近 50 行
• –no-pager 避免分页,适合快速扫读