为什么这个“kill”命令会让我退出计算机?

hyt*_*omo 40 command-line kill

以下命令将我注销(不要运行此命令):

kill -9 -1
Run Code Online (Sandbox Code Playgroud)

我不明白为什么。

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

chr*_*tis 71

语法是kill SIGNAL PID.

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

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

  • 请注意,如果您使用 sudo 运行此命令,例如 `sudo kill -9 -1`,那么计算机将重新启动 (9认同)
  • @Anwar 它不一定会重新启动,它会让您只运行 init,然后它可能会也可能不会产生 shell 或恢复其他服务。 (3认同)

mon*_*nge 27

尝试

man kill
Run Code Online (Sandbox Code Playgroud)

获得 kill 命令的解释..

它说:

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

例子

杀 -9 -1

 Kill all processes you can kill.
Run Code Online (Sandbox Code Playgroud)

我希望您能理解为什么您的计算机会在您结束所有进程时将您注销。你放弃了一切。

希望这可以帮助。

  • +1 指向`man`。“教一条鱼如何‘人’,你就能养活他一辈子。” (双关语:-)) (18认同)

Tom*_*ner 7

您提供-1的进程 ID:来自kill手册页:

 A  PID of -1 is special; it indicates all processes except the
 kill process itself and init.
Run Code Online (Sandbox Code Playgroud)