Почему эта команда «kill» выводит меня из компьютера?


40

Следующая команда выводит меня из системы ( не запускайте эту команду):

kill -9 -1

Я не понимаю почему.

Может кто-то объяснить это мне?

Ответы:


71

Синтаксис есть kill SIGNAL PID.

В -9параметр указывает , что SIGKILLсигнал должен быть отправлен (немедленно прекратить целевой процесс (ов), а также с указанием PID -1является сокращение для «всех процессов , кроме себя и INIT».

Поскольку вы не используете sudo(и, по-видимому, не имеете корневых разрешений), это сразу же убивает все процессы, на которые у вас есть разрешение на удаление, - весь сеанс, следовательно, вы выходите из системы.


9
И обратите внимание, если вы выполните эту команду с sudo like, sudo kill -9 -1то компьютер перезагрузится
Anwar

Это действительно перезапустит? Кажется, что это просто потерпит крах.
user606723

@ user606723 процесс init не завершится и может решить, что (если что-то сделать) делать со всеми остальными процессами, завершившимися.
Random832

3
@ Анвар, он не обязательно перезапустится, он заставит вас запустить только init, который может или не может порождать оболочку или запускать другие сервисы.
mikebabcock

27

пытаться

man kill

чтобы получить объяснение команды kill ..

это говорит:

PID -1 является особенным; он указывает все процессы, кроме самого процесса kill и init.

а также

ПРИМЕРЫ

убить -9 -1

 Kill all processes you can kill.

Я надеюсь, вы понимаете, почему ваш компьютер выйдет из системы, когда вы завершите все процессы. Вы бросили все

Надеюсь это поможет.


18
+1 за указание на man. «Научите рыбу, как manи вы накормить его на всю жизнь». (Пун намеревался :-))
m000

7

Вы даете в -1качестве идентификатора процесса: с killman-страницы:

 A  PID of -1 is special; it indicates all processes except the
 kill process itself and init.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.