为什么此“ kill”命令使我退出计算机?


40

以下命令将我注销(请勿运行此命令):

kill -9 -1

我不明白为什么。

谁可以给我解释一下这个?

Answers:


71

语法为kill SIGNAL PID

-9选项指定SIGKILL应发送信号(立即终止目标进程),并指定PID -1是“除自身和初始化之外的所有进程”的简写。

由于您不使用sudo(并且可能没有root权限),因此这会立即杀死您有权杀死的所有进程-整个会话,因此将您注销。


9
请注意,如果您使用sudo来运行此命令,sudo kill -9 -1则计算机将重新启动
Anwar

它真的会重启吗?好像会崩溃。
user606723,2012年

@ user606723,初始化进程将不会退出,并且可以决定要对所有其他退出的进程进行处理(如果有的话)。
Random832 2012年

3
@Anwar不一定会重新启动,它将使您进入仅运行init的状态,这可能会也可能不会产生shell或恢复其他服务。
mikebabcock 2012年

27

尝试

man kill

获得有关kill命令的说明。

它说:

PID -1是特殊的;它指示除kill进程本身和init之外的所有进程。

例子

杀死-9 -1

 Kill all processes you can kill.

我希望您了解结束所有进程后,为什么计算机会注销您的原因。你放弃了一切。

希望这可以帮助。


18
+1指向man。“教一条鱼怎么做man,你就让他终生觅食。” (Pun原意是:
m000 2012年

7

-1kill手册页中提供了进程ID :

 A  PID of -1 is special; it indicates all processes except the
 kill process itself and init.
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.