gpt4 book ai didi

父进程可以在同一时间向所有子进程发送信号吗?

转载 作者:行者123 更新时间:2023-11-30 18:47:18 25 4
gpt4 key购买 nike

我试图找出如何在同一秒内向 3 个子进程发送信号。你能向我解释一下为什么它可能或不可能吗?

如果可能的话,你能帮我理解在kill()中使用一些C语言代码吗?

最佳答案

TL;DR — 否

kill() 的 POSIX 规范给出了向多个进程发送信号的几种方法:

If pid is 0, sig shall be sent to all processes (excluding an unspecified set of system processes) whose process group ID is equal to the process group ID of the sender, and for which the process has permission to send a signal.

If pid is -1, sig shall be sent to all processes (excluding an unspecified set of system processes) for which the process has permission to send that signal.

If pid is negative, but not -1, sig shall be sent to all processes (excluding an unspecified set of system processes) whose process group ID is equal to the absolute value of pid, and for which the process has permission to send a signal.

您的请求适用于“所有 child ”。如果任何子进程更改了进程组 ID,则这是不可行的 - 而这是他们可以自由执行的操作。此外,如果任何 child 此后执行了 SUID 程序,您很可能会失去向他们发送信号的权限。

-1pid 值非常危险;我相信它将转到与当前进程具有相同(有效)UID 的所有进程。

关于父进程可以在同一时间向所有子进程发送信号吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49184889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com