Из справочной страницы killall:

Утилита killall убивает процессы, выбранные по имени, в отличие от выбора по pid, как это делает kill(1). По умолчанию он отправляет сигнал TERM всем процессам с реальным UID, идентичным вызывающему абоненту killall, который соответствует имени procname. Суперпользователю разрешено убивать любой процесс.

Кто здесь caller of killall ? Я в замешательстве, потому что я запускаю команду killall , не так ли я это называю?

1 ответ1

1

В руководстве, как вы сказали, вы вызываете killall ; killall уничтожит все процессы, соответствующие указанному вами имени, а также UID (идентификатору пользователя) вызывающего абонента, то есть только процессы, принадлежащие вызывающему (вы). Это сделано для того, чтобы вызывающий не мог случайно (или злонамеренно) завершить процессы, которые ему не принадлежат и поэтому не имеют прав.

Как отмечено в последнем предложении в цитате man-страницы, суперпользователь (UID 0) всегда может уничтожить любой процесс, даже если он не принадлежит суперпользователю.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .