Python — проверьте, запущен ли процесс (скрипт Python3)

#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, чтобы проверить, запущен скрипт или нет?

Спасибо