Что происходит, когда я пытаюсь использовать 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
вы не сможете прекратить его.