功能场景 systemctl(Systemd 主流系统) service(SysVinit 老旧系统) 适用系统 / 测试场景说明
启动服务 systemctl start 服务名 service 服务名 start 测试环境部署后启动依赖服务(如 nginx、mysql)
停止服务 systemctl stop 服务名 service 服务名 stop 测试环境维护、清理时停止服务
重启服务 systemctl restart 服务名 service 服务名 restart 修改配置后重启服务,验证配置生效(如 tomcat)
重载配置(不中断服务) systemctl reload 服务名 无直接对应命令需用 service 服务名 reload(部分服务支持) 不中断测试进程,热更新配置(如 nginx)
查看服务状态 systemctl status 服务名 service 服务名 status 测试前快速判断服务是否正常运行
设置开机自启 systemctl enable 服务名 chkconfig 服务名 on 确保测试环境重启后服务自动恢复
关闭开机自启 systemctl disable 服务名 chkconfig 服务名 off 避免无关服务占用测试端口 / 资源
检查服务是否运行 systemctl is-active 服务名 无直接对应命令需结合 ps 过滤 脚本化测试时快速校验服务状态
检查开机自启状态 systemctl is-enabled 服务名 chkconfig --list 服务名 确认测试环境服务的自启配置
查看所有运行中服务 systemctl list-units --type=service --state=running service --status-all 排查测试环境中异常启动的服务
查看服务日志 journalctl -u 服务名journalctl -u 服务名 -f(实时跟踪) 无集成命令需手动查看日志文件(如 /var/log/服务名.log 测试问题定位,跟踪服务运行报错

关键区别总结

  1. 功能覆盖systemctl 包含服务生命周期管理 + 开机自启 + 日志集成,功能更全;service 仅支持基础启停。
  2. 系统兼容性:CentOS 7+/Ubuntu 16.04+ 用 systemctl;CentOS 6/Ubuntu 14.04 用 service+chkconfig
  3. 日志便捷性systemctl 可通过 journalctl 直接调取服务日志,无需手动找日志路径。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐