Python Glossary Русский

all Python 3Linux · macOSosfunction

os.setpgrp

os — sessions and process groups

Make the current process a process-group leader. Availability: Unix.

Syntax

os.setpgrp(...)

The same as os.setpgid(0, 0): the process becomes the leader of a new group. After that Ctrl+C in the terminal, aimed at the foreground group, may no longer reach it. It is handy for later stopping the process with its children via a single killpg.

Examples

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 — процесс уже лидер группы, новую сессию так не создать

See also

Open in the full glossarydocs.python.orgReport an inaccuracy