Tengo el siguiente trabajo en /etc/init/collector
:
start on runlevel [2345]
stop on runlevel [!2345]
expect daemon
exec /usr/bin/twistd -y /path/to/my/tac/file
Cuando comienzo el trabajo sudo service collector start
, se cuelga. Si yo ctrl-c
y corro initctl list
, veo esto:
collector start/killed, process 616
No puedo ver una instancia del twistd
demonio en ps, y el servidor HTTP que se supone que está proporcionando no existe.
Incluso intenté esto sin 'esperar demonio' y con una simple llamada a un script bash de una línea usando una script
estrofa, y todavía no funciona. Creo que estoy haciendo algo muy mal. ¿Qué podría ser?
expect daemon
línea.Respuestas:
Puede redirigir
stdout
ystderr
de todo el shell utilizando elscript
pragma (en lugar deexec
) junto conexec >FILE 2>&1
, de esta manera:Con suerte, eso debería darle una mejor idea de lo que está sucediendo. He encontrado esto útil para detectar todo tipo de problemas en mis secuencias de comandos iniciales. Usted podría tubería de su comando de
stdout
/stderr
directamente, pero se perderá en los errores originarios de la concha (como errores de sintaxis).Por otro lado, si
service
está colgando, es posible que ni siquiera esté golpeando su script, en cuyo caso nada de esto ayudará, por supuesto.fuente
logger
, para poder simplemente seguir/var/log/syslog
.dmesg
. Descubrí esto después de no obtener ningún resultado al usar lo anterior. Había cometido un error tipográfico en la directiva chdir.También está el
console log
declarativo, como se define aquí: http://upstart.ubuntu.com/cookbook/#console-logNo sé lo suficiente sobre el arranque para saber si está habilitado de forma predeterminada, pero puede habilitarlo para cada trabajo de arranque, de forma predeterminada se enviará a
/var/log/upstart/<job>.log
fuente
Valide que exista el director advenedizo y agregue el registro de la consola antes de la fase de script. (en la versión inicial superior a 1.4 es el valor predeterminado)
registro de consola
script exec> / path / to / some_log_file 2> & 1 exec your_command_here end script
Para obtener más información, consulte el hilo: /ubuntu/207143/how-to-diagnose-upstart-errors/932155#932155
fuente