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).