Python Glossary English

все Python 3Linux · macOSosфункция

os.setpgrp

os — сессии и группы процессов

Делает текущий процесс лидером новой группы процессов. Доступно на Unix.

Синтаксис

os.setpgrp(...)

То же, что os.setpgid(0, 0): процесс становится лидером новой группы. После этого Ctrl+C в терминале, адресованный группе переднего плана, до него может не дойти. Удобно, чтобы затем остановить процесс вместе с потомками одним killpg.

Примеры

import os
print(os.getpgrp() == os.getpid())  # → ? только Unix: False, если процесс запущен shell'ом как часть чужой группы
os.setpgrp()  # → ? только Unix: вызывается без аргументов, процесс становится лидером новой группы
print(os.getpgrp() == os.getpid())  # → ? только Unix: True — PGID новой группы равен PID процесса
print(os.getpgrp() == os.getpgid(0))  # → ? только Unix: True — os.setpgrp() делает то же, что os.setpgid(0, 0)
os.setsid()  # → PermissionError — процесс уже лидер группы, новую сессию так не создать

См. также

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