我在我的vps ubuntu上使用命令pkill作为根用户,我被踢出了服务器,无法访问它。
这就是我在终端机里写的:
pkill hH是我在ubuntu的用户
解决办法是什么?
发布于 2021-11-09 09:15:26
如果要杀死属于特定用户的所有进程,请使用
pkill -U user .末端的.匹配任何进程名,而-U user将操作限制为属于名为user的用户的进程。
要查看pkill命令会影响哪些进程,可以将pkill命令本身替换为pgrep,然后可能添加-l以获得“长输出”(进程名也会显示)。
pgrep -l h上面的推荐应该显示系统中包含字符h的所有命令,而下面的命令将显示属于名为user的用户的所有命令:
pgrep -l -U user .发布于 2021-11-09 09:48:55
你告诉我们
这就是我在终端里写的:
pkill h
此外,您还以root的身份完成了此操作。这里发生的情况是,您杀死了名称中包含h的所有进程。这包括主控sshd,它控制入站ssh请求,以及它的所有协调现有连接的子程序。
除非您能够登录到非图形化的控制台并自己重新启动它,否则您将需要安排您的系统被迫重新启动。
我强烈建议您养成检查文档以获取您不熟悉的命令的习惯。这里,man pkill展示了一个只选择特定用户拥有的进程的方法,这是它的第一个例子。把这个例子应用到你的情况中,
pkill -u h # user "h"更好的是,首先使用pgrep检查是否匹配了正确的进程集:
pgrep -a -u h # -a shows "all" the command line, for user "h"或者发送信号0,它没有任何动作:
pkill -0 -e -u h # Signal zero, "echo" affected processes, for user "h"注意,用户名必须是完全匹配的,但是进程名是部分匹配。(这就是为什么原始命令中的h与sshd匹配的原因。)
https://unix.stackexchange.com/questions/676590
复制相似问题