如果我想启动一个系统安装的服务,我可以这样做:
# /etc/init.d/some-svc start
# initctl start some-svc
# service some-svc start
# start some-svc
Run Code Online (Sandbox Code Playgroud)
如果我想禁用启动时运行的服务,我可以这样做:
# rm /etc/rc2.d/S99some-svc
# update-rc.d some-svc disable
# mv /etc/init/some-svc.conf /etc/init/some-svc.conf.disabled
Run Code Online (Sandbox Code Playgroud)
然后我可以做类似的各种事情来启用启动时启动的服务,等等。
我知道 upstart 是一个(相对)新事物,我知道 SysV init 过去是如何工作的,而且我隐约知道一堆 D-Bus 废话,但我不知道是人们实际上打算如何与这些东西进行交互的方式。例如,我不知道如何轻松确定服务是 Upstart 作业还是遗留的 SysV 事物,而无需实际广泛阅读其 shell 脚本的源代码。
所以:如果我想立即或永久启动或停止服务,我应该使用哪些工具,为什么?如果答案取决于某个属性(例如“此服务支持新贵”),那么我如何快速轻松地了解已安装软件包的该属性?
相关地,是否有任何用户界面工具可以安全且正确地与现代服务基础设施(新贵,和/或任何其 sysv 兼容性)交互?例如,我能否可靠地使用sysv-rc-conf来确定应该启动哪些服务?