从SUSv4开始:如果pid为负,但不为-1,则sig应发送给进程组ID等于pid绝对值的所有进程(不包括未指定的一组系统进程),并且该进程有权限发送信号。据我所知,在任何时候都不能有两个或更多的进程有相同的PID。为什么规范说所有的进程?谢谢你。
fivyi3re1#
这个规范是针对给定组中的所有进程**的。**每个组可以有多个进程。负的id标识该组。
id
l3zydbqr2#
进程组ID与进程ID不同。
假设PID已知,则PGID为每个流程都是唯一的 * 流程组 * 的成员,由其 * 流程组ID* 标识。(当进程被创建时,它成为其父进程组的成员。)按照惯例,进程组的进程组ID等于进程组的第一个成员的进程ID,进程使用系统调用getpgrp()或等价的getpgid(0)来找到它的进程组的ID。使用getpgid(p)来找到进程p。来源
getpgrp()
getpgid(0)
getpgid(p)
2条答案
按热度按时间fivyi3re1#
这个规范是针对给定组中的所有进程**的。**每个组可以有多个进程。负的
id
标识该组。l3zydbqr2#
进程组ID与进程ID不同。
假设PID已知,则PGID为
每个流程都是唯一的 * 流程组 * 的成员,由其 * 流程组ID* 标识。(当进程被创建时,它成为其父进程组的成员。)按照惯例,进程组的进程组ID等于进程组的第一个成员的进程ID,进程使用系统调用
getpgrp()
或等价的getpgid(0)
来找到它的进程组的ID。使用getpgid(p)
来找到进程p。来源