Miałem problem polegający na tym, że utworzenie skryptu początkowego wywoływało go wielokrotnie, powodując odrodzenie mojego IRCd około 8 razy. Aby to naprawić, użyłem 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
Działa to dokładnie tak, jak chcę, Z WYJĄTKIEM:
stop ircd
mówi, że to zatrzymuje, ale inspircd wciąż działa.
Czy istnieje lepszy sposób niż użycie demona start-stop, który powstrzyma skrypt przed otwarciem 8 instancji, czy też jest jakiś sposób, aby uczynić go kompatybilnym z demonem start-stop?
expect fork
naprawiono problem. Jednak nadal nie mogę wywołać „stop ircd” i zatrzymać skrypt. Poradzę sobie jednak bez niego (ps aux, kill), ale jeśli możesz zmienić swoją odpowiedź, aby zawierała sposób na to, będę bardzo szczęśliwym użytkownikiem Ubuntu;)sudo start ircd
powinien wyprowadzić PID. Jeśli przykleisz to na końcups
(np .ps u -p <PID>
:), czy to pokazuje proces, który ma sens? Jeśli tak się nie stanie, nadal traci ślad PID, więc możesz spróbowaćexpect daemon
ps aux
,kill <pid>
działa dobrze, byłem bardziej zaniepokojony co skrypt startowy przy starcie, co robi. Dzięki!