Linux:使用负PID号进行kill

4

来自SUSv4:

如果pid为负,但不是-1,则应将sig发送到所有进程(除了未指定的一组系统进程),它们的进程组ID等于pid的绝对值,并且该进程具有发送信号的权限。

据我所知,在任何时候都不能有2个或更多具有相同PID的进程。为什么规范要求发送给所有进程?

谢谢。

2个回答

9
规范中指定了所有在给定组内的进程。一个组中可以有多个进程。负id用于标识该组。

5

进程组ID与进程ID不同。

假设已知进程ID,则PGID为

每个进程都是唯一的一个进程组成员,由其进程组ID进行标识。 (当进程被创建时,它成为其父进程的进程组成员。)按照惯例,进程组ID等于进程组的第一个成员即进程组领导者的进程ID。使用系统调用getpgrp()或等效的getpgid(0)来获取进程组的ID。使用getpgid(p)查找进程p。

来源


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接