Процесс для проверки, запущены ли другие процессы? [дубликат]

Un camino por recorrer:

a=$(cat file1 | wc -c)

esto no genera el nombre del archivo y su exprfuncionará.

0
20.12.2016, 04:38
2 ответа

Возможно, простой скрипт может помочь:

ps -axu | grep '[n]grok' 2>&1 1>/dev/null || bash -c "ngrok"

Приведенный выше скрипт проверяет состояние запущенного ngrok, если он не запущен, выполните команду для его запуска. Скобки в команде grep помогают отфильтровать саму команду grep в результатах.

Добавьте это в cron конфигурационный файл, он будет периодически проверяться.

ПРИМЕЧАНИЕ:

Вам может понадобиться добавить некоторую задержку между проверкой и перезапуском, также необходимо установить верхний предел повторных попыток для предотвращения ситуаций, когда ngrok имеет какую-то критическую ошибку и не может запуститься снова.

0
29.04.2021, 00:06

Как бы мне ни не нравился systemd , я должен признать, что он определенно может это делать.

Не все системы init поддерживают автоматический перезапуск неудачных процессов.

Однако обратите внимание, что проверка того, что процесс по-прежнему «запущен», - это только самая элементарная проверка работоспособности, которую вы можете сделать. Лучше, если основной цикл программы сможет проверять какое-то "вы еще живы?" сообщение и ответьте на него. Тогда вы знаете, что он не застрял в бесконечном цикле или не застрял в ожидании ввода-вывода, который не завершится.

1
29.04.2021, 00:06

Теги

Похожие вопросы