使用pkill 杀死属于某个用户的所有进程

目录:

Anonim

Activity Monitor 和传统的“kill”命令行工具能够处理大多数进程终止需求,但如果您曾经需要定位并终止属于单个用户帐户的所有进程,您就会知道这可能是一项令人沮丧的任务。尽管 Activity Monitor 允许您对“其他用户进程”进行排序并选择多个进程,但它不允许您同时终止多个进程。同样,标准的 kill 和 killall 命令通常针对特定进程,而不是针对属于特定用户帐户的每个任务。这就是“pkill”命令的用武之地,它可以很容易地通过终端立即杀死属于任何用户的每个进程。

如何使用pkill杀死用户的所有进程

使用pkill杀死所有用户进程的基本语法如下:

pkill -u 用户名

通过在ps 命令上使用-u 标志验证属于该用户的所有进程都已终止:

ps -u 用户名

假设一切都按预期进行,你会发现返回一个空白列表。

pkill 不区分大小写,这意味着用户名“TestUser”将被识别为“testuser”。

如果您要自己尝试,最好使用快速用户切换来使用另一个用户帐户启动新登录,或者使用ssh 服务器并在另一个上执行本地麦克。对您自己的活动用户名使用 pkill 将导致所有进程终止,其中一些会立即刷新,但许多后台进程不会自动再次启动。这会导致各种奇怪的行为,并且根据您正在运行的内容,如果发现操作系统变得如此无法使用以至于您需要注销并重新登录,或者如果活动用户甚至重新启动,请不要感到非常惊讶pkill 的目标帐户是 root 或管理级别。

pkill 命令在指向用户名时有点像喷灯,可以被认为是一种从本质上强行退出属于已登录用户的所有内容的方法,但这也可以使它成为一个非常强大的工具用于故障排除以及处理尽管用户注销后仍保持完整的已失效或僵尸进程的工具。

我们之前讨论过 pkill 命令,用于使用通配符和属于单个用户的特定应用程序/进程来终止进程,尽管它是自 Mac OS 从 Mac OS X Mountain Lion 以来最近添加到 Mac 中的命令此后,它已经在 Linux 世界中存在了相当长的一段时间。

使用pkill 杀死属于某个用户的所有进程