Вачдог по-быстрому

Бывают ситуации, когда что-то идёт не так и нужно по-быстрому запилить килялку чего либо и как можно скорее вернуться к выполнению основной задачи. Типичная ситуация: плодятся процессы, которые никто не прибивает, что приводит к утечке ресурсов и тормозам на всём сервере. Самым быстрым способом будет мониторинг количества процессов и рестарту ноды/приложения при достижении критического значения.

while true; do pscnt=$(ps aux | grep [your app] | wc -l); echo "$pscnt"; if (( pscnt > 500 )); then [your app restart]; fi; sleep 2; done

Запуск такого скрипта из консоли будет не лучшей идеей, гораздо надёжнее положить его в крон примерно таким образом:

* * * * * pscnt=$(ps aux | grep [your app] | wc -l); echo "$pscnt"; if (( pscnt > 500 )); then [your app restart]; fi; >> /var/log/watcher.log

Ну и конечно при первой возможности разобраться с причинами этой ситуации.