问题
I need to send a signal to different process for some real-time communication, however the process belongs to different user.
For example
PID user group
1234 foo foobar
4321 bar foobar
I want process 1234 and 4321 to be able to send signals to each other?
If I was using sockets or pipes I could set their mask to rw-rw-r--
and communication would work. However I need to do the communication using signals (ordinary or real time, not important).
Is there a way to do it?
回答1:
Quote from 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.
You can find capabilities(7) and setcap(8) useful.
来源:https://stackoverflow.com/questions/13334902/is-it-possible-to-send-a-signal-to-process-that-belongs-to-different-user