Ubuntu Server 默认使用的 init 系统/服务管理器取决于版本:
Ubuntu 16.04 及以后版本
- 默认使用 systemd(从 Ubuntu 15.04 开始引入,16.04 完全采用)
- 管理命令:
sudo systemctl start/stop/restart <服务名> sudo systemctl enable/disable <服务名> sudo systemctl status <服务名>
Ubuntu 14.04 及更早版本
- 默认使用 Upstart(Ubuntu 6.10 至 14.10 使用)
- 管理命令:
sudo start/stop/restart <服务名> sudo status <服务名>
检查当前系统
# 查看 init 系统
ps -p 1 -o comm=
# 或
ls -l /sbin/init
# 或检查 systemd 是否存在
systemctl --version
关键说明
- systemd 是当前标准,提供更快的启动、依赖管理、日志集成(journald)等。
- 即使使用 systemd,部分传统命令(如
service)仍兼容:sudo service apache2 restart # 实际仍调用 systemctl - 所有 当前支持的 Ubuntu LTS 版本(20.04、22.04、24.04)均使用 systemd。
建议
- 新部署直接使用 systemctl 命令。
- 编写脚本时如需兼容旧版,可检查
/proc/1/comm或使用service包装命令。
如需特定版本的操作细节,请告知您的 Ubuntu Server 版本。
CLOUD技术笔记