J'ai eu un problème où faire un script parvenu à l'appel appelait le script plusieurs fois, provoquant l'apparition de mon IRCd environ 8 fois. Afin de rectifier cela, j'ai utilisé le démon start-stop:
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
Cela fonctionne exactement comme je le veux, SAUF que:
stop ircd
dit qu'il l'arrête, mais inspircd fonctionne toujours après.
Existe-t-il un meilleur moyen que d'utiliser start-stop-daemon qui empêchera le script d'ouvrir 8 instances, ou existe-t-il un moyen de le rendre compatible avec le start-stop-daemon?
expect fork
résolu le problème. Cependant, je ne peux toujours pas appeler «stop ircd» et faire arrêter le script. Cependant, je vais m'en passer (ps aux, tuer), mais si vous pouvez modifier votre réponse pour inclure un moyen de le faire, je serai un utilisateur Ubuntu très heureux;)sudo start ircd
il devrait sortir un PID. Si vous collez cela à la finps
(par exempleps u -p <PID>
:), cela montre-t-il un processus qui a du sens? Si ce n'est pas le cas, il perd toujours la trace du PID, alors vous voudrez peut-être essayerexpect daemon
ps aux
,kill <pid>
fonctionne très bien, je plus préoccupé de faire au démarrage du script de démarrage, ce qu'il fait. Merci!