Python | os.getpgid 函数

Lasted 2020-12-07 10:33:07

os.getpgid 函数根据进程id 返回进程的组 ID。如果 pid 为 0,则返回当前进程的进程组 ID 。也可通过 os.getpgrp() 获取当前进程组 ID。

在类 UNIX 操作系统中,进程组表示一个或多个进程的集合。 它用于控制信号的分配,将信号定向到流程组时,流程组的每个成员都会接收该信号。使用进程组ID唯一标识每个进程组。

函数定义

os.getpgid(pid)
# 函数定义

if sys.platform != 'win32':
    # Unix only
    ...
    def getpgid(pid: int) -> int: ...
    ...

兼容性:Unix 系统。

参数

  • checkpid - 进程ID,为 0 表示当前进程。

返回值

  • checkint - 组 ID。

示例1: - 使用 os.getpgid() 函数获取当前进程的组 ID。

# coding=utf-8

# Python3 代码
# 使用 os.getpgid() 函数返回当前进程的进程组 ID

# 引入 os 库
import os

# 获取当前进程 ID
pid = os.getpid()
# 获取进程组 ID
gid = os.getpgid(pid)

print("Current process::", gid)

# pid 为 0
print("Current process::", os.getpgid(0))

# 使用 os.getpgrp()
print("Current process::", os.getpgrp())

# 获取父进程 组ID
pid = os.getppid() 
pgid = os.getpgid(pid) 
print("Parent process::", pgid)
Current process:: 51381
Current process:: 51381
Current process:: 51381
Parent process:: 51288
注:一般情况下,组 ID 和 进程 ID 相同。