首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >服务器ubuntu中的pkill

服务器ubuntu中的pkill
EN

Unix & Linux用户
提问于 2021-11-08 10:22:35
回答 2查看 228关注 0票数 -2

我在我的vps ubuntu上使用命令pkill作为根用户,我被踢出了服务器,无法访问它。

这就是我在终端机里写的:

代码语言:javascript
复制
pkill h

H是我在ubuntu的用户

解决办法是什么?

EN

回答 2

Unix & Linux用户

发布于 2021-11-09 09:15:26

如果要杀死属于特定用户的所有进程,请使用

代码语言:javascript
复制
pkill -U user .

末端的.匹配任何进程名,而-U user将操作限制为属于名为user的用户的进程。

要查看pkill命令会影响哪些进程,可以将pkill命令本身替换为pgrep,然后可能添加-l以获得“长输出”(进程名也会显示)。

代码语言:javascript
复制
pgrep -l h

上面的推荐应该显示系统中包含字符h的所有命令,而下面的命令将显示属于名为user的用户的所有命令:

代码语言:javascript
复制
pgrep -l -U user .
票数 2
EN

Unix & Linux用户

发布于 2021-11-09 09:48:55

你告诉我们

这就是我在终端里写的:pkill h

此外,您还以root的身份完成了此操作。这里发生的情况是,您杀死了名称中包含h的所有进程。这包括主控sshd,它控制入站ssh请求,以及它的所有协调现有连接的子程序。

除非您能够登录到非图形化的控制台并自己重新启动它,否则您将需要安排您的系统被迫重新启动。

我强烈建议您养成检查文档以获取您不熟悉的命令的习惯。这里,man pkill展示了一个只选择特定用户拥有的进程的方法,这是它的第一个例子。把这个例子应用到你的情况中,

代码语言:javascript
复制
pkill -u h          # user "h"

更好的是,首先使用pgrep检查是否匹配了正确的进程集:

代码语言:javascript
复制
pgrep -a -u h       # -a shows "all" the command line, for user "h"

或者发送信号0,它没有任何动作:

代码语言:javascript
复制
pkill -0 -e -u h    # Signal zero, "echo" affected processes, for user "h"

注意,用户名必须是完全匹配的,但是进程名是部分匹配。(这就是为什么原始命令中的hsshd匹配的原因。)

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/676590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档