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Сообщить о неточности