Seu trabalho provavelmente contém uma sintaxe inválida, o que significa que o Upstart não irá considerá-lo. Tente executar o seguinte como um usuário normal ( não como root):
init-checkconf /etc/init/rs-comm.conf
no 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
No RedHat v6.8 (e provavelmente em outras versões e distros) o upstart não verá o novo trabalho se o nome do arquivo não tiver uma extensão .conf. Por exemplo, acabei de encontrar esse problema quando criei um upstart do NGiNX como /etc/init/nginx
. initctl list | grep nginx
não retornou nada. initctl status nginx
retornou initctl: Unkown job: nginx
. Por isso, renomei o nome do arquivo de trabalho do upstart para /etc/init/nginx.conf
e ele o reconheceu imediatamente como um novo trabalho inicial. Eu suspeito que isso possa afetar muitas pessoas, então eu pensei em postar isso como uma resposta relevante.
Tags upstart linux ubuntu ubuntu-12.10