我在我的服务器上使用 upstart 提供服务。编写一个 conf 文件并将其放入/etc/init很容易,但这似乎并没有完全安装。一方面,service --status-all没有列出我的新服务。我检查,如果我做一个链接/etc/init.d到/lib/init/ubstart-job它会在状态显示出来。但是手动执行此操作让我觉得我做得不对,并且很可能还有其他配置步骤没有完成。
安装新贵服务以使其在所有处理服务的工具中正确注册的正确方法是什么?
tom*_*ert 46
当您最初将新的 conf 文件复制到 /etc/init 文件夹时,您需要调用:
initctl reload-configuration
Run Code Online (Sandbox Code Playgroud)
这样你的暴发户应该正确注册。
小智 18
查看服务手册:
service --status-all 使用 status 命令按字母顺序运行所有 init 脚本。此选项仅调用 sysvinit 作业的状态,可以使用 initctl list 以类似方式查询 upstart 作业。
(强调)
这就是为什么将它添加到 /etc/init.d(sysvinit 作业所在的位置)使它起作用的原因。所以:尝试运行initctl list :) 。
小智 14
在 Ubuntu 中添加/创建新服务时,请确保遵循以下步骤。
/etc/init.d/<service name>chmod 700 /etc/init.d/<service name>update-rc.d <service name> defaultsupdate-rc.d <service name> enable现在看到你的服务
service --status-all
Run Code Online (Sandbox Code Playgroud)