Из вашего вывода ps
видно, что sidekiq
меняет имя собственного процесса, чтобы включить информацию о времени выполнения:sidekiq 5.1.3 pnvstart [0 of 20 busy]
. В этом случае pidof
, вероятно, не находит его, потому что ищет именно "sidekiq".
Если вы не планируете запускать и останавливать sidekiq вручную, вы можете использовать собственные инструменты systemd:systemctl is-active sidekiq
вернет код ошибки, если sidekiq не запущен, и успешно, если запущен.
Лично я дружу с выходом -скоро, поэтому я бы написал код в духе
systemctl is-active sidekiq && exit # all is well
# oh no, it's gone!
systemctl restart sidekiq
mail -s...