upstart inicia o script python mas se comporta inesperadamente

1

O programa funciona quando iniciado por cron ou a partir do shell. Mas quando iniciado por upstart , parece fazer um loop indefinidamente.

Os scripts e os arquivos que eles usam estão no diretório /home/user/ e são de propriedade de user e todos têm 777 permissões.

O arquivo .conf upstart:

start on runlevel [2345]
stop on runlevel [!2345]

kill signal SIGHUP
# reload signal SIGHUP
respawn

exec python /home/user/Documents/init.py -b 600
    
por user193661 16.06.2015 / 08:43

1 resposta

1

upstart executa comandos como root por padrão. Mas o usuário pode ser especificado: Como faço para iniciar trabalhos como um usuário não privilegiado no Upstart? .

Mas o script foi programado com variáveis específicas do usuário e uma dependência para um diretório específico.

init.py tinha essa linha:

self.d_root = os.path.join(os.path.expanduser('~'),'Documents','records')

Eu mudei para isso e funcionou:

self.d_root = os.path.dirname(os.path.realpath(__file__))

Mas acho que a correção correta é adicionar essa linha ao arquivo .conf :

setuid = user
    
por user193661 16.06.2015 / 11:20