linux中启动与停止系统服务主要使用systemctl命令:start立即启动(如sudo systemctl start nginx),stop立即停止(如sudo systemctl stop mysql),status/is-active/is-enabled用于验证状态,旧式service命令不推荐混用。

Linux 中启动与停止指定系统服务,主要靠 systemctl 命令完成,它是 systemd 系统的默认服务管理工具,适用于绝大多数现代发行版(如 Ubuntu 22.04+、CentOS 7+、Debian 10+、Fedora 等)。
启动服务
使用 start 子命令立即运行服务:
-
sudo systemctl start nginx—— 启动 Nginx 服务 -
sudo systemctl start sshd—— 启动 SSH 服务 - 该操作只在当前会话生效,重启后不会自动运行(除非已启用开机自启)
停止服务
用 stop 停止正在运行的服务进程:
-
sudo systemctl stop mysql—— 终止 MySQL 服务 -
sudo systemctl stop docker—— 停止 Docker 守护进程 - 停止后服务状态变为
inactive,但配置和启用状态不受影响
验证服务是否生效
执行启停操作后,务必检查实际状态:
-
systemctl status nginx—— 显示运行状态、主进程 PID、最近日志片段 -
systemctl is-active nginx—— 仅输出active或inactive,适合脚本判断 -
systemctl is-enabled nginx—— 查看是否设置了开机自启(enabled/disabled)
补充说明
老系统或兼容场景下可能遇到其他方式,但不推荐作为首选:
-
sudo service nginx start—— SysV 兼容命令,多数新版系统仍支持,但功能较弱 -
sudo /etc/init.d/nginx start—— 直接调用 init 脚本,仅限遗留服务,systemd 下可能失效 - 避免混用
service和systemctl管理同一服务,以防状态不一致











