我需要向不同的进程发送信号以进行某些实时通信,但该进程属于不同的用户。
例如
PID user group
1234 foo foobar
4321 bar foobar
我希望进程1234和4321能够互相发送信号吗?
如果我使用套接字或管道,我可以将其掩码设置为rw-rw-r--
,并且通信可以正常工作。但是我需要使用信号进行通信(普通或实时,不重要)。
有办法吗?
答案 0 :(得分:6)
来自kill(2)的引用:
For a process to have permission to send a signal it must either be privileged
(under Linux: have the CAP_KILL capability), or the real or effective user ID
of the sending process must equal the real or saved set-user-ID of the target
process. In the case of SIGCONT it suffices when the sending and receiving
processes belong to the same session.
您可以找到有用的功能(7)和setcap(8)。