pgrep / pidof uso para nomes de processos complexos?

9

Estou tentando usar pidof ou pgrep para enviar um HUP para um processo no meu sistema. O problema é que eu só quero matar o processo com um parâmetro preciso.

Esta é a saída de 'ps awx'

  657 ?        S      0:00 processname software
  658 ?        S      0:00 processname demo
  659 ?        S      0:00 processname test

Ao fazer um destes:

pidof processname 
pgrep processname

Você obtém a lista de todos os processos iniciados por processname, mas eu gostaria de fazer algo como:

pidof processname test
pgrep processname test

Para recuperar apenas o PID que preciso (neste exemplo seria 659)

UPDATE

Ao usar o sinalizador -f no pgrep, basta fazer o que eu queria:

pgrep -f "processname test"

Você receberá a resposta certa.

    
por Aseques 15.05.2012 / 11:40

1 resposta

10
$ 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
    
por 15.05.2012 / 11:44