Python Glossary English

все Python 3osфункция

os.getppid

os — процесс

Возвращает PID родительского процесса.

Синтаксис

os.getppid()

Если родитель завершился, на Unix вернётся PID процесса init (1) или назначенного «приёмного» процесса, а на Windows — прежний номер, который мог уже достаться чужому процессу. Поэтому проверять «жив ли родитель» по getppid надёжно только на Unix, сравнивая с исходным значением.

Примеры

import os
print(os.getppid())   # → ? PID родительского процесса, например 4312 (для скрипта из терминала — это PID оболочки)
print(os.getppid() == os.getpid())   # → ? False: getppid() возвращает родителя, а getpid() — сам процесс
if os.fork() == 0: print(os.getppid())   # → ? только Unix: дочерний процесс печатает PID родителя — то же число, что вернул os.getpid() до fork
ppid = os.getppid()   # → ? ловушка: если родитель уже завершился, процесс-сирота «усыновляется» — на Linux обычно 1 (init/systemd)

См. также

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