Como testar se um daemon está sendo executado? Depende. Alguns daemons possuem um arquivo com o ID do processo em /var/run/foo.pid
. Um exemplo disso é /var/run/crond.pid
.
$ cat /var/run/crond.pid
432
Se o processo estiver em execução, ele terá um diretório em /proc
:
$ ls /proc/$(cat /var/run/crond.pid)
Portanto, se o diretório em / proc não existir, podemos reiniciar. Se qBittorrent tiver esse arquivo pid, você pode fazer isso:
# cat <<EOF >/etc/cron.d/restart-qbittorrent-nox
*/5 * * * * /bin/test -e /proc/$(cat /var/run/qbittorrent-nox.pid)/cmdline || service qbittorrent-nox start
EOF
Se você não tiver nenhum arquivo em /var/run
, precisará usar ps ax | grep qBittorrent
para encontrar o processo.
Mas a melhor solução seria descobrir por que o processo falha ...