如何杀死同一用户的用户进程?

如何杀死同一用户的用户进程?

我打开了一个 VNC 服务器,我的 VNC 会话突然中断了。我打开了很多 xterm。当我 ssh 到机器上时,输入

users

我看到一群用户 – 我的用户帐户,例如:

userA UserA UserA UserA UserA UserA UserA

我知道我可以使用

pkill -u usersname 

由于我只能以身份登录userA,因此每次运行时pkill-u UserA,它都会终止我当前的会话。但其他用户身份仍然存在

我能做些什么?

答案1

一个有用的工具是slaysudo slay username 如果你不slay以 root 身份运行,你最终会杀死所有的你的但是,它只针对特定进程,而不是指定的用户。

也可以看看:https://unix.stackexchange.com/questions/18043/how-do-i-kill-all-a-users-processes-using-their-uid

答案2

使用以下命令获取除当前 shell 之外的所有 userA 的 PID:

/bin/ls -u userA | egrep -v "^ +$$"

(请注意命令中的双引号egrep。)然后只杀死那些 PID。您的 shell 应该会保留下来。

答案3

跑步

/bin/ls -u redmage 

刚刚给了我:

/bin/ls: cannot access redmage: No such file or directory

然而,

who -u

告诉我谁登录了,并打印了相关的 pid,例如:

redmage  tty4         2012-06-09 22:05 00:01         695
bluemage  pts/1        2012-06-09 18:28   .          3466 (:0.0)

然后只需 kill -9;不再有 CPU 时间!

kill -9 695

答案4

这似乎是pkill -u someusername试图杀死某个用户名的所有进程。

我认为如果您尝试这样做会发生的情况是,您会成功终止您自己的会话中的进程,但却无法终止其他进程,因为您无权这样做。

尽管未经测试,但我相信这应该可以解决问题:

sudo pkill -u usersname 

相关内容