复杂进程名称的pgrep / pidof用法?

我正在尝试使用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 

你可以得到所有processname开始的列表,但是我想要做一些事情:

 pidof processname test pgrep processname test 

只检索我需要的PID(在这个例子中是659)

UPDATE

通过在pgrep上使用-f标志只是做我想要的,通过做:

 pgrep -f "processname test" 

你会得到正确的答案。

 $ 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