在 Ubuntu 12.10 中
user@xyz:~$ sudo initctl --version
initctl (upstart 1.5)
Copyright (C) 2012 Scott James Remnant, Canonical Ltd.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
user@xyz:~$ ls -l /etc/init/rs-comm.conf
-rw-r--r-- 1 root root 349 нояб. 15 03:22 /etc/init/rs-comm.conf
user@xyz:~$ sudo initctl reload-configuration
user@xyz:~$ sudo initctl start rs-comm
initctl: Unknown job: rs-comm
答案1
您的作业可能包含无效语法,这意味着 Upstart 不会考虑它。尝试以普通用户身份运行以下命令(不是以 root 身份运行):
init-checkconf /etc/init/rs-comm.conf
答案2
在 RedHat v6.8(可能还有其他版本和发行版)上,如果文件名没有 .conf 扩展名,upstart 将看不到新作业。例如,当我将 NGiNX upstart 创建为/etc/init/nginx
. initctl list | grep nginx
returned nothing. initctl status nginx
returned时,我刚刚遇到了这个问题initctl: Unkown job: nginx
。因此,我将 upstart 作业文件名重命名为/etc/init/nginx.conf
,它立即将其识别为新的 upstart 作业。我怀疑这可能会影响很多人,所以我想将其作为相关答案发布。