Linux

如何使用 pgrep 查找 shell 腳本程序

  • December 27, 2021

我想使用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命令?

嘗試:

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.

引用自:https://unix.stackexchange.com/questions/684022