我正在尝试使用 pidof 或 pgrep 向系统中的进程发送 HUP。问题是我只想使用精确的参数终止进程。
这是“ps awx”的输出
657 ? S 0:00 processname software
658 ? S 0:00 processname demo
659 ? S 0:00 processname test
通过执行以下操作之一:
pidof processname
pgrep processname
您可以获得以进程名称开头的所有进程的列表,但我想执行以下操作:
pidof processname test
pgrep processname test
仅检索我需要的 PID(在此示例中为 659)
更新
通过在 pgrep 上使用 -f 标志就可以完成我想要的操作:
pgrep -f "processname test"
你会得到正确答案的。
答案1
$ ps aux |grep [d]evio
user01 10220 0.0 0.1 5376 2424 pts/5 S+ 11:41 0:00 ssh devio
$ pgrep -f "ssh devio"
10220
$ pkill -0 -f "ssh devio" ; echo $?
0