A sintaxe que você especificou nessa tarefa está incorreta:
- você tem várias estrofes '
start on
'. - a última sub-rotina '
start on
' será considerada, mas a sua é inválida devido ao uso de vírgulas entre os níveis de execução (o seu 'stop on
' é inválido pelo mesmo motivo).
Você quer algo assim:
start on runlevel [2345]
stop on runlevel [016]
script
pydoc -p 7464 /some_path/my_python_package
end script
Observe que com a versão 0.9.7 e superior do Upstart (em outras palavras, o Ubuntu Natty ou mais recente - consulte link ) , há um novo comando chamado init-checkconf
que irá verificar o seu script para erros de sintaxe. O uso é simples:
$ init-checkconf myjob.conf
Observe que você deve executar init-checkconf
como usuário (raiz não ).
Além disso, você está executando isso como uma tarefa do sistema (o arquivo de trabalho reside em / etc / init /?). Em caso afirmativo, você realmente precisa que o serviço seja executado como root? Se não, veja:
se você precisar realmente executar esse serviço como usuário root?
Por fim, recomendo ver o restante do Cookbook do Upstart: