Linux命令-service(控制 SysV 风格服务) Linux命令-service控制 SysV 风格服务快速参考基本语法安装 service常用操作service 与 systemctl 对照现代替代方案systemctl从 service 迁移到 systemctl故障排查总结快速参考service是用于控制 SysV 风格服务的命令行工具。该命令在现代 systemd 系统中已被认为过时应使用systemctl替代。service仍然广泛用于兼容旧脚本和 SysV init 系统。现代替代systemctl start/stop/restart/status service_name基本语法# 基本语法service服务名{start|stop|restart|reload|force-reload|status}# 启动服务sudoservicesshstart# 停止服务sudoservicesshstop# 重启服务sudoservicesshrestart# 查看服务状态sudoservicesshstatus# 列出所有服务service--status-all安装 service# service 是 init-system-helpers 包的一部分Debian/Ubuntusudoaptinstallinit-system-helpers# RHEL/CentOS 通常已预装# 验证安装whichservice常用操作# 启动服务sudoservicehttpd start# 停止服务sudoservicehttpd stop# 重启服务sudoservicehttpd restart# 平滑重启不中断连接sudoservicehttpd reload# 查看服务状态sudoservicehttpd status# 列出所有服务及其状态sudoservice--status-all# 输出示例# [ ] ssh# [ - ] apache2# [ ? ] bluetooth# 说明# [ ] 服务正在运行# [ - ] 服务已停止# [ ? ] 无法确定状态service 与 systemctl 对照# 启动服务 # 旧方式servicesudoservicesshstart# 新方式systemctl推荐sudosystemctl startssh# 停止服务 sudoservicesshstopsudosystemctl stopssh# 重启服务 sudoservicesshrestartsudosystemctl restartssh# 查看状态 sudoservicesshstatussudosystemctl statusssh# 启用/禁用开机自启 # service 方式通过 chkconfig 或 update-rc.dsudochkconfigsshon# RHEL/CentOSsudoupdate-rc.dsshdefaults# Debian/Ubuntu# systemctl 方式推荐sudosystemctlenablesshsudosystemctl disablessh现代替代方案systemctl# 查看所有服务状态sudosystemctl list-units--typeservice--all# 查看所有已启用的服务sudosystemctl list-unit-files--stateenabled# 启动服务sudosystemctl start service_name# 停止服务sudosystemctl stop service_name# 重启服务sudosystemctl restart service_name# 查看服务状态详细sudosystemctl status service_name# 启用服务开机自启sudosystemctlenableservice_name# 禁用服务不开机自启sudosystemctl disable service_name# 查看服务日志sudojournalctl-uservice_name# 查看服务配置systemctlcatservice_name从 service 迁移到 systemctl# 旧方式servicesudoservicesshstartsudoservicesshstopsudoservicesshrestartsudochkconfigsshon# 新方式systemctlsudosystemctl startsshsudosystemctl stopsshsudosystemctl restartsshsudosystemctlenablessh# 如果脚本中使用了 service 命令# 可以创建别名兼容sudoln-s/bin/systemctl /usr/local/bin/service# 注意这不是完美的兼容但大多数常用操作可以工作故障排查# 问题1service 命令找不到# 解决安装sudoaptinstallinit-system-helpers# 问题2service 启动失败# 解决查看详细日志sudojournalctl-xe# 问题3服务无法启动# 手动运行服务可执行文件查看错误sudo/usr/sbin/sshd-t# 测试 SSH 配置sudoapachectl configtest# 测试 Apache 配置# 问题4服务启动后立刻退出# 解决查看服务日志sudojournalctl-uservice_name-n50总结核心价值service是 SysV init 系统的服务管理工具现代 systemd 系统应使用systemctl。最佳实践新系统使用systemctl替代service旧脚本兼容性大多数service命令在 systemd 系统上仍能工作通过兼容脚本查看服务状态时使用systemctl status可以看到更详细的信息常用组合service name start/stop/restart/status旧方式systemctl start/stop/restart/status name新方式推荐⚠️ 注意service命令在 systemd 系统上通常只是systemctl的包装器行为可能略有不同。