问题描述
我在服务器上使用upstart服务。编写conf文件并将其放在/etc/init
中很容易,但似乎没有完全安装。首先,service --status-all
没有列出我的新服务。我查了一下,如果我在/etc/init.d
到/lib/init/ubstart-job
建立链接,它将显示在状态中。但手动执行此操作会让我觉得我做得不对,而且可能还有其他配置步骤没有完成。
安装upstart服务的正确方法是什么,以便在所有处理服务的工具中正确注册?
最佳解决方法
当您最初将新的conf文件复制到/etc /init文件夹时,需要调用:
initctl reload-configuration
这样你的新贵就应该正确注册。
次佳解决方法
查看服务手册:
service –status-all runs all init scripts, in alphabetical order, with the status command. This option only calls status for sysvinit jobs, upstart jobs can be queried in a similar manner with initctl list.
(重点补充)
这就是为什么将它添加到/etc/init.d(sysvinit作业所在的位置)使其工作的原因。所以:尝试运行initctl list :)。
第三种解决方法
对于SysV服务
确保在Ubuntu中添加/创建新服务时按照以下步骤操作。
-
在
/etc/init.d/<service name>
中创建服务文件 -
chmod 700 /etc/init.d/<service name>
-
update-rc.d <service name> defaults
-
update-rc.d <service name> enable
现在看你服务了
service --status-all