Можно ли отправить сигнал процессу, который принадлежит другому пользователю?
Мне нужно отправить сигнал другому процессу для связи в реальном времени, однако процесс принадлежит другому пользователю.
Например
PID user group
1234 foo foobar
4321 bar foobar
Я хочу, чтобы процессы 1234 и 4321 могли посылать сигналы друг другу?
Если бы я использовал розетки или трубы, я мог бы установить их маску rw-rw-r--
и связь будет работать. Однако мне нужно сделать общение с помощью сигналов (обычное или в реальном времени, не важно).
Есть ли способ сделать это?
1 ответ
Решение
Цитата из 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) полезными.