PS-e | grep Python до некоторого процесса Python работает в системе

Я хочу видеть, работает ли некоторый процесс Python. Я настроил сценарий Python, который обновляет noip, и крон выполняет его каждая 1 минута, но требуется только 2 секунды, чтобы работать и закончиться, таким образом, я хотел бы знать, существует ли способ сделать PS-e | grep Python и ожидать, пока некоторый процесс Python не появляется на экране

1
задан 3 January 2017 в 02:31

1 ответ

Если Ваша цель состоит в том, чтобы просто наблюдать, процесс, появляется, можно просто сделать это:

watch -n1  "ps -ef | grep command | grep -v grep"

Лично, я часто использую метод опроса с pgrep и while цикл как так:

while ! pgrep -f command ; do true; done && echo "Process started"

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

Тестовый прогон:

enter image description here

способ, которым это работает, очень прост:

  • выполнения цикла pgrep -f command на каждом повторении и инвертирует его статус выхода. Таким образом, если процесс, не найденный статусом выхода 1, инвертирует к 0, таким образом поддерживая цикл в рабочем состоянии.
  • , После того как процесс появляется, статус выхода становится 0, он отрицается к 1, вызывая для цикла для завершения, и отобразить сообщение с echo

Это - довольно универсальный подход, работы с любой оболочкой и языком сценариев. Например, я использовал его в сценарий Python, который обнаруживает изменение IP и сценарий к командам выполнения, когда процесс появляется

0
ответ дан 8 December 2019 в 07:11

Другие вопросы по тегам:

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