在linux中统一用systemctl管理systemd服务:start启动、stop停止、restart重启、reload重载配置、try-restart条件重启;status查状态,enable/disable设开机自启;注意服务名大小写、修改unit后需daemon-reload。

在 Linux 中启动、停止和重启 systemd 服务,统一使用 systemctl 命令,不再依赖旧的 service 或 /etc/init.d/ 脚本。操作需 root 权限(通常加 sudo),服务名一般不带 .service 后缀(但显式写出也有效)。
启动、停止、重启服务的基本命令
所有操作都以服务名为核心参数,例如 nginx、sshd、httpd:
-
启动服务:启动一次,不设开机自启
sudo systemctl start nginx -
停止服务:立即终止运行中的进程
sudo systemctl stop nginx -
重启服务:先停止再启动;若服务未运行,则等效于 start
sudo systemctl restart nginx -
重载配置:不中断服务,仅重新读取配置文件(适用于支持 reload 的服务,如 nginx、sshd)
sudo systemctl reload nginx -
尝试重启:仅当服务正在运行时才执行 restart,避免意外启动
sudo systemctl try-restart nginx
查看服务当前状态
确认服务是否运行、有无报错、最近启动时间等关键信息:
Linux AI 服务器 — 将 Linux 服务器转换为本地 AI 推理集群。使用 systemd、NVIDIA CUDA 实现无头 Linux AI,零 GUI 开销。
-
sudo systemctl status nginx—— 显示详细状态、最新日志片段、激活状态(active/inactive) - 按
q退出滚动视图 - 若只关心“是否在运行”,可配合
grep:systemctl is-active nginx | grep -q "active" && echo "running"
启用或禁用开机自启
这控制服务是否随系统启动自动运行,与当前运行状态无关:
-
设为开机自启:
sudo systemctl enable nginx—— 创建软链接到/etc/systemd/system/multi-user.target.wants/ -
取消开机自启:
sudo systemctl disable nginx -
检查是否已启用:
sudo systemctl is-enabled nginx—— 输出enabled或disabled
常见注意事项
实际操作中容易忽略但影响成败的细节:
- 服务名拼写必须准确,区分大小写;不确定时可用
systemctl list-unit-files --type=service | grep -i 关键词搜索 - 修改过
.service文件(如自定义服务)后,必须执行sudo systemctl daemon-reload才能让新配置生效 - 某些服务启动失败时,
status输出末尾会提示日志行号,直接用journalctl -u nginx -n 20 -e查看最后 20 行实时日志 - 若服务卡死无法 stop,可强制终止:
sudo systemctl kill nginx(慎用,不触发优雅关闭逻辑)










