我对 Ubuntu 上的服务管理的发展方向感到很困惑,有趣的是,OS X 似乎也发生了同样的事情,但那是另一个故事。
我确实很欣赏简单并且做得好service srv start|stop|restart
,并且总是不喜欢服务无法启用和禁用服务的事实(即使这些命令不是由被调用的脚本实现的)。
为了解决这个问题,我使用update-rc.d srv enable|disable
甚至安装了 chkconfig 来做同样的事情。
现在,随着新贵的出现,事情似乎变得更糟而不是更好,我想知道是否有人正在努力解决这个问题,或者
管理服务的简单方法是什么?(Ubuntu 12.04、14.04+)
可选:是否存在需要改进的错误/功能请求?
用例:作为(根)用户,我希望能够轻松执行以下操作:* 启动、停止、重新启动服务 * 启用/禁用服务 * 列出当前服务及其启用/禁用状态 * 列出当前服务及其运行/停止状态 * (可选)有一个简单的 bash 方法来检查服务是否启用/禁用、运行或停止。
PS. 请不要谈论 GUI 工具。
答案1
启动、停止、重新启动、重新加载服务的简便方法:
service srv start|stop|restart|reload
或者
invoke-rc.d srv start|stop|restart|reload
或者
initctl start|stop|restart|reload srv
或者
start|stop|restart|reload srv
(服务命令是你最好的选择)
启用/禁用服务的简便方法:
update-rc.d srv enable|disable
(仍与 Upstart 兼容)
当前服务及其运行/停止状态:
对全部:
initctl list
对于跑步:
initctl list | grep start/running
对于已停止:
initctl list | grep stop/waiting
不幸的是,这里没有列出使用 sysv 脚本启动的服务,只有 Upstart 作业。
丢失的:
检查所有服务的启用/禁用状态。
检查特定服务的运行或启用状态。