Tuve un problema en el que hacer una secuencia de comandos inicial llamaría a la secuencia de comandos varias veces, haciendo que mi IRCd se reproduzca alrededor de 8 veces más o menos. Para rectificar esto, usé start-stop-daemon:
description "IRC Daemon Upstart Script"
start on startup
start on runlevel [2345]
stop on runlevel [016]
respawn
nice -5
exec start-stop-daemon --start --chuid ircuser --chdir /home/ircuser/inspircd/run --exec /home/ircuser/inspircd/run/bin/inspircd -- --config=/home/ircuser/inspircd/run/conf/inspircd.conf
Esto funciona exactamente como lo quiero, EXCEPTO que:
stop ircd
dice que lo detiene, pero inspircd sigue ejecutándose después.
¿Hay alguna manera mejor que usar start-stop-daemon que evitará que el script abra 8 instancias, o hay alguna forma de hacerlo compatible con start-stop-daemon?
expect fork
solucionó el problema. Sin embargo, todavía no puedo llamar 'stop ircd' y detener el script. Sin embargo, me las arreglaré sin él (ps aux, kill), pero si puedes modificar tu respuesta para incluir una forma de hacerlo, seré un usuario de Ubuntu muy feliz;)sudo start ircd
, debería generar un PID. Si pegas eso al final deps
(por ejemplo:)ps u -p <PID>
¿muestra eso un proceso que tiene sentido? Si no es así, todavía está perdiendo la pista del PID, por lo que es posible que desee probarexpect daemon
ps aux
,kill <pid>
funciona bien, estaba más preocupado por hacer que el script START en el arranque, lo que hace. ¡Gracias!