J'ai le travail suivant dans /etc/init/collector
:
start on runlevel [2345]
stop on runlevel [!2345]
expect daemon
exec /usr/bin/twistd -y /path/to/my/tac/file
Lorsque je commence le travail sudo service collector start
, il se bloque. Si je ctrl-c
cours initctl list
, je vois ceci:
collector start/killed, process 616
Je ne peux pas voir une instance du twistd
démon dans ps, et le serveur HTTP qu'il est censé fournir n'existe pas.
J'ai même essayé cela sans «attendre le démon» et avec un simple appel à un script bash d'une ligne à l'aide d'une script
strophe, et cela ne fonctionne toujours pas. Je pense que je fais quelque chose de très mal. Qu'est ce que ça pourrait être?
expect daemon
ligne.Réponses:
Vous pouvez rediriger
stdout
etstderr
du shell entier en utilisant lescript
pragma (au lieu deexec
) en conjonction avecexec >FILE 2>&1
, comme ceci:J'espère que cela devrait vous donner une meilleure idée de ce qui se passe. J'ai trouvé cela utile pour détecter toutes sortes de problèmes dans mes scripts parvenus. Vous pouvez diriger directement le
stdout
/ de votre commandestderr
, mais vous passerez à côté des erreurs provenant du shell (comme les erreurs de syntaxe).D'un autre côté, s'il
service
est suspendu, il se peut même qu'il ne frappe pas votre script, auquel cas rien de tout cela n'aidera, bien sûr.la source
logger
, pour que je puisse juste faire la queue/var/log/syslog
.dmesg
. J'ai découvert cela après que je n'obtenais aucune sortie lors de l'utilisation de ce qui précède. J'avais fait une faute de frappe dans la directive chdir.Il y a aussi le
console log
déclaratif, tel que défini ici: http://upstart.ubuntu.com/cookbook/#console-logJe ne connais pas assez le upstart pour savoir s'il est activé par défaut, mais vous pouvez l'activer par job upstart, il sortira par défaut sur
/var/log/upstart/<job>.log
la source
Validez l'existence du directeur parvenu et ajoutez le journal de la console avant la phase de script. (dans la version upstart supérieure puis 1.4 c'est la valeur par défaut)
journal de la console
script exec> / path / to / some_log_file 2> & 1 exec your_command_here end script
Pour plus d'informations, consultez le fil: /ubuntu/207143/how-to-diagnose-upstart-errors/932155#932155
la source