Python Glossary English

Python 3.3+Исключенияисключение

ProcessLookupError

встроенные исключения

Указанный процесс не существует (подкласс OSError).

Синтаксис

raise ProcessLookupError

Соответствует POSIX-ошибке ESRCH и прилетает из os.kill или os.killpg, когда процесса с таким pid уже нет — как правило, он успел завершиться между вашей проверкой и сигналом. Именно из-за этой гонки правильный приём — послать сигнал и спокойно поймать ProcessLookupError, а не «сначала убедиться, что процесс жив». И помните про переиспользование pid: отсутствие ошибки не доказывает, что вы попали именно в нужный процесс. (os.waitpid по чужому или уже собранному pid даёт другое исключение — ChildProcessError.)

Примеры

try:
    raise ProcessLookupError
except ProcessLookupError as e:
    print(type(e).__name__)   # → ProcessLookupError

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности