- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图找出如何在同一秒内向 3 个子进程发送信号。你能向我解释一下为什么它可能或不可能吗?
如果可能的话,你能帮我理解在kill()
中使用一些C语言代码吗?
最佳答案
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 程序,您很可能会失去向他们发送信号的权限。
-1
的 pid 值非常危险;我相信它将转到与当前进程具有相同(有效)UID 的所有进程。
关于父进程可以在同一时间向所有子进程发送信号吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49184889/
我是一名优秀的程序员,十分优秀!