如何使用pgrep查找shell脚本进程

如何使用pgrep查找shell脚本进程

我想使用pgrep命令来终止centos终端中正在运行的进程。我试过:

pgrep fedora-proxy-k8s-postgresql | xargs -r kill -9

我找不到该进程,因为它是在后台运行的 bash 脚本:

➜  pydolphin git:(tencent-cloud) ps aux|grep k8s-pos
root     14131  0.0  0.0 113288  1084 ?        SN   01:35   0:00 bash ./fedora-proxy-k8s-postgresql.sh

我应该怎么做才能找到并终止该进程pgrep?或者我必须使用ps命令?

答案1

尝试:

pgrep -af 'fedora-proxy-k8s-postgresql'

-f设置后,该模式将与完整命令行进行匹配。

如果您需要终止该进程:

pkill -9 -f 'fedora-proxy-k8s-postgresql'

正如@aviro 的评论中提到的,pkill应该谨慎使用,如果vi fedora-proxy-k8s-postgresql.sh存在其他一些运行命令行的进程,它们也匹配此pkill模式并将被杀死。因此,您最好确保要杀死的进程是唯一一个其命令行与该模式匹配的进程,或者-f 'bash ./fedora-proxy-k8s-postgresql.sh'在执行之前编写更准确的模式,例如pkill, 。

有关更多详细信息,请参阅 的联机帮助页pgrep

相关内容