Div Asked: 2020-04-02 22:14:06 +0800 CST2020-04-02 22:14:06 +0800 CST 2020-04-02 22:14:06 +0800 CST 进程id不断变化,不能用name杀死 772 我正在通过 SSH 使用 Ubuntu 16,但遇到了问题。我想终止该进程,但找不到方法,因为它每次都在更改 PID。 我正在使用这个命令来检查进程是否正在运行,这里 'geth' 是我的进程名称 ps ax | grep geth 它向我显示结果如下, 当我尝试使用进程名称终止进程时,它表明 killall geth geth:找不到进程 process grep kill 2 个回答 Voted BulletBob 2020-04-03T03:05:41+08:002020-04-03T03:05:41+08:00 正如已经回答的那样,您正在查看自己的grep流程。这就是为什么每个进程都有一个新的 PID。如果要排除这些包含 的行grep,可以执行ps ax | grep [g]eth. Best Answer Kulfy 2020-04-03T10:36:37+08:002020-04-03T10:36:37+08:00 在 Ubuntu 中,grep是grep --color=auto. 您可以通过运行来确认它type grep。当你跑步时grep something,你实际上是在跑步grep --color=auto something。 现在,当grep运行或运行任何其他命令时,就会创建一个进程。结果,即使内存中甚至不存在某个进程,它也会产生一个输出,这显然是该grep进程。例如,我没有注册为foo. 但即使我跑步ps aux | grep foo,我也会得到: kulfy 13544 0.0 0.0 21532 1076 pts/0 S+ 23:59 0:00 grep --color=auto foo 一旦grep处理了从ps aux. 你可以pgrep改用。它将显示正在运行的进程的进程 ID,并将名称作为参数传递。它不需要管道。 延伸阅读: 如何杀死 Ubuntu 中的进程? 为什么“ps aux | grep x”比“pgrep x”给出更好的结果? 如何在不使用 grep 的情况下按名称搜索进程?
正如已经回答的那样,您正在查看自己的
grep
流程。这就是为什么每个进程都有一个新的 PID。如果要排除这些包含 的行grep
,可以执行ps ax | grep [g]eth
.在 Ubuntu 中,
grep
是grep --color=auto
. 您可以通过运行来确认它type grep
。当你跑步时grep something
,你实际上是在跑步grep --color=auto something
。现在,当
grep
运行或运行任何其他命令时,就会创建一个进程。结果,即使内存中甚至不存在某个进程,它也会产生一个输出,这显然是该grep
进程。例如,我没有注册为foo
. 但即使我跑步ps aux | grep foo
,我也会得到:一旦
grep
处理了从ps aux
.你可以
pgrep
改用。它将显示正在运行的进程的进程 ID,并将名称作为参数传递。它不需要管道。延伸阅读: