pkill 命令中的 -KILL 选项是什么

pkill 命令中的 -KILL 选项是什么

我找到了一种使用命令行注销任何用户的方法。通过执行命令pkill -KILL -u <username>,我现在可以从我进入的会话中注销。我的问题是,为什么在和 中都
没有关于-KILL可用开关或选项的描述。 我在用。预先非常感谢您。man pkillpkill --help
Ubuntu Mate 16.04

答案1

-KILL参数告诉pkill将哪个信号发送到其他参数标识的所有进程。因此,您正在发送 SIGKILL,这是一种非常非常不干净的方式,可以做您似乎正在尝试做的事情。您可能想发送 SIGHUP (带有-HUP)或 SIGTERM (带有或省略它,因为 SIGTERM 是/-TERM的默认信号)。killpkill

为了简化,当一个进程接收到SIGTERM从内核接收到消息时,它被告知:“你现在需要离开。清理干净并自我终止”。大多数精心设计的程序都会在收到此信号后立即、理智地关闭自己。

当进程收到 时SIGHUP,它被告知:“嘿,不管你在和谁说话,都挂断了”。虽然这在历史上用于容易出现意外断开连接的串行连接,但它通常用作让 shell 的作业控制停止所有挂起进程的信号(或者经常让守护进程重新初始化自身或重新解析其配置文件) )。

当一个进程接收到 时SIGKILL,内核(比喻地)走到它后面并射击它的后脑勺。一方面:没有大惊小怪,没有混乱。另一方面:可能会有很大的混乱需要清理。

ed进程KILL没有机会清理任何打开的临时文件;任何未刷新的缓存数据都可能丢失,等等。因此,做不是发送SIGKILL除非你真的必须。

相关内容