Страницы

Поиск по вопросам

суббота, 6 июля 2019 г.

Как определить, жив ли процесс? Python 2.6, unix

Вопрос тут появляется в похожем виде не впервые. Столкнулся со следующей проблемой: нужно проверять не только существование процесса, но и то, что он не является зомби. try: os.kill(pid, 0) return True except OSError: return False Вариант выше знаю, он не прокатывает с последним условием. Ставить внешние программы/модули нельзя, все это происходит на разных машинах под линуксом и BSD, рутового доступа на которые нету. Есть какие-нибудь варианты, как решить проблему?


Ответ

Можно чисто средствами баша ps aux | awk ' { print $2" "$8 } ' | grep -q "$pid Z" где $pid это pid вашего процесса. В случае если процесс зомби, то результат этой команды будет равен нулю, т.е. полное совпадение.

Комментариев нет:

Отправить комментарий