Nadzorowanie procesów które przestają działać

Zdarza się, że proces który uruchamiamy w tle przestaje działać z niewiadomych powodów. Aby dać sobie trochę czasu aby dokładnie zdebugować błąd możemy uruchomić ten proces za pomocą programu supervisor który przypilnuje aby nasz proces działał zawsze poprzez jego ponowne uruchomienie kiedy ów proces przestanie działać.

Aby ogarnąć powyższy problem instalujemy program supervisor za pomocą polecenia:

apt install supervisor

Następnie tworzymy plik konfiguracyjny /etc/supervisor/conf.d/direwolf.conf (w tym przypadku nadzorowanym procesem będzie program direwolf):

[program:direwolf]
directory=/usr/bin
command=/usr/bin/direwolf -c /etc/direwolf.conf -t 0
autorestart=true

Po utworzeniu pliku konfiguracyjnego restartujemy program supervisor aby ten wczytał zmiany:

/etc/init.d/supervisor restart

Następnie weryfikujemy działanie direwolf:

ps -Af | grep direwolf

Warto też sprawdzić działanie supervisor poprzez zabicie direwolf:

kill -9 `ps -Af | grep direwolf | head -1 | awk '{ print $2 }'`
sleep 1
ps -Af | grep direwolf

I najważniejsze, usuwamy ze wszystkich miejsc inne sposoby uruchamiania nadzorowanego procesu (w tym przypadku direwolf).