Estoy tratando de usar pidof o pgrep para poder enviar un HUP a un proceso en mi sistema. El problema es que solo quiero matar el proceso con un parámetro preciso.
Esta es la salida de 'ps awx'
657 ? S 0:00 processname software
658 ? S 0:00 processname demo
659 ? S 0:00 processname test
Al hacer uno de estos:
pidof processname
pgrep processname
Obtiene la lista de todos los procesos que comienzan por nombre de proceso, pero me gustaría hacer algo como:
pidof processname test
pgrep processname test
Para recuperar solo el PID que necesito (en este ejemplo sería 659)
ACTUALIZAR
Al usar la bandera -f en pgrep, solo hago lo que quería, haciendo:
pgrep -f "processname test"
Obtendrás la respuesta correcta.
-f
porque quiere coincidir en la línea de comando completa. Tenga en cuenta que pgrep funciona con expresiones regulares, por lo que también puede hacer coincidencias relativamente complejas.