如何根据给定的“命令”杀死进程?

如何根据给定的“命令”杀死进程?

我有一个名为“P1”的进程,现在我终止该进程的方法是:

$ ps aux | grep "P1"
" Now it returns two processes related to "P1": one is the actual P1 process I want to kill, the other one is the "grep P1" which I don't care.
$ kill -9 <P1 pid>

然而,我希望将这两个过程合二为一。目前我找不到有效的方法来做到这一点,主要是因为我必须从第一个命令的输出中查找。有什么好的方法吗?

答案1

您可以pgrep-x标志一起使用:

kill -9 $(pgrep -x P1)

或者更好,pkill你可以这样做:

pkill -9 -x P1

与BSD pkill

pkill 9 -x P1

答案2

您可以使用killall(1)(至少在 Fedora Linux 上)。它有很多选择。

就我个人而言,当我知道存在时,我几乎只会使用它只有一个具有给定名称的进程。

相关内容