相关疑难解决方法(0)

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

我想从 Linux 系统上的 shell 脚本或本机代码中杀死特定用户的所有正在运行的进程。

我是否必须阅读 /proc 目录并查找这些?

有任何想法吗?Linux 中 UID 下的 pid 是否有动态映射?这不是在proc中吗?

如果没有,那么这个列表在哪里维护?我应该从中阅读吗?此外,系统中所有 UID 的静态列表在哪里,以便我可以验证此用户是否存在,然后继续杀死在其下运行的所有进程?

linux c proc

79
推荐指数
3
解决办法
28万
查看次数

如何在Centos 7上杀死`user`拥有的所有进程?

我在在线闪存卡中读到命令是:

pkill -u bob $(pgrep -u bob)
Run Code Online (Sandbox Code Playgroud)

然而,我认为这是错误的。我认为它在说:

杀死所有拥有的处理bob,和4572\n4600

因为:

[bob@localhost ~]$ pgrep -u bob
4572
4600
Run Code Online (Sandbox Code Playgroud)

此外,它给出了一个错误:

[bob@localhost ~]$ pkill -u bob $(pgrep -u bob)
pkill: only one pattern can be provided
Try `pkill --help' for more information.
Run Code Online (Sandbox Code Playgroud)

这是有道理的,因为您不能在用户名中使用换行符,对吗?

我认为命令应该只是:

pkill -u bob
Run Code Online (Sandbox Code Playgroud)

“杀死鲍勃拥有的所有进程”

而命令:

pgreg -u bob 
Run Code Online (Sandbox Code Playgroud)

给出“bob 拥有的所有进程”

我很好奇:

  • 我是否按预期使用了正确的命令?
  • 我对错误方式的分析准确吗?

process process-management pkill

7
推荐指数
1
解决办法
4万
查看次数

标签 统计

c ×1

linux ×1

pkill ×1

proc ×1

process ×1

process-management ×1