Что происходит, когда я пытаюсь использовать kill с идентификатором процесса ниже -1?

Я готовлюсь к экзамену и совсем не уверен, что произойдет, если я буду использовать kill с pid < -1,

Могу ли я завершить процессы группы, в которую я не включен?

Какие процессы затронуты?

1 ответ

Решение

Со страницы руководства, в информационных целях:

Если pid меньше -1, то sig отправляется каждому процессу в группе процессов с идентификатором -pid.

Ответ дается в общем, но также относится и к этому случаю:

Чтобы процесс имел разрешение на отправку сигнала, он должен быть либо привилегированным (в Linux: иметь возможность CAP_KILL), либо реальный или эффективный идентификатор пользователя отправляющего процесса должен совпадать с реальным или сохраненным установленным идентификатором пользователя целевого объекта. процесс.

В нашем случае это означает, что вызывающему процессу либо должна быть предоставлена ​​возможность CAP_KILL, либо uid вызывающего процесса должен быть таким же, как (set)uid каждого процесса, который вы хотите завершить.

Отправка kill -56 будет пытаться завершить каждый процесс группы 56, но если один из них отличается от идентификатора вызывающего процесса, он не будет завершен.

Допустим, у вас есть идентификаторы процесса 9000, 9010 и 9020 в группе 56, kill -56 такой же как kill 9000 9010 9020, И если у вас нет того же uid как, скажем, pid 9020вы не сможете прекратить его.

Другие вопросы по тегам