#python-3.x #linux
Вопрос:
У меня есть несколько сценариев Python3, запущенных nohup
в фоновом режиме. Иногда может случиться так, что сценарии будут уничтожены либо из-за ошибки/исключения, либо они могут быть просто уничтожены другими сценариями/процессами.
Теперь я хотел бы создать средство проверки процессов, чтобы оно автоматически определяло, что сценарий , с которым выполнялся nohup
, больше не выполняется. Затем он отправит мне электронное письмо в качестве уведомления, чтобы я мог проанализировать проблему и запустить ее снова.
Проблема, с которой я столкнулся, заключается в том, что я не знаю, как правильно проанализировать вывод ps aux | grep python3
команды в Python.
Вывод ps aux | grep python3
данных о том, когда мои сценарии выполняются должным образом, выглядит следующим образом:
ubuntu@myserver:~$ ps aux | grep python
root 603 0.0 0.9 29268 16460 ? Ss May30 0:00 /usr/bin/python3 /usr/bin/networkd-dispatcher --run-startup-triggers
root 675 0.0 0.9 108088 15772 ? Ssl May30 0:00 /usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal
root 3485 0.0 1.3 398644 23244 ? Ssl May30 16:18 /usr/bin/python3 /usr/bin/fail2ban-server -xf start
ubuntu 93610 0.0 1.3 33616 22176 ? S Jun02 0:35 python3 scripts/treningy_check.py
ubuntu 93626 0.0 1.4 34204 24208 ? S Jun02 6:30 python3 scripts/cakaren_check_and_send_email.py
ubuntu 386310 0.0 1.3 33604 22900 ? S Jun16 0:56 python3 scripts/cakaren_activate.py
ubuntu 431704 0.0 0.1 11004 2640 pts/0 S 10:13 0:00 grep --color=auto python
Мои сценарии, в частности:
ubuntu 93610 0.0 1.3 33616 22176 ? S Jun02 0:35 python3 scripts/treningy_check.py
ubuntu 93626 0.0 1.4 34204 24208 ? S Jun02 6:30 python3 scripts/cakaren_check_and_send_email.py
ubuntu 386310 0.0 1.3 33604 22900 ? S Jun16 0:56 python3 scripts/cakaren_activate.py
Как мне продолжать использовать функцию в Python, чтобы проверить, запущен скрипт или нет?
Спасибо