¿Por qué no puedo pgrep un proceso?

12
$ ps aux | grep -i ssh
USER      4364  0.0  0.0   9004  1032 ?        Ss   12:20   0:00 ssh -v -fND localhost:4000 USERNAME@SERVER-IP-ADDRESS

$ pgrep localhost:4000

¿Por qué esto no funciona?

LanceBaynes
fuente

Respuestas:

25

Por defecto, pgrep(1)solo coincidirá con el nombre del proceso. Si desea hacer coincidir la línea de comando completa, use la -fopción:

$ pgrep -f localhost:4000
camh
fuente
8

Eche un vistazo a la página de manual de pgrep . No es solo un alias para ejecutar ps con un montón de columnas y luego codificar la salida de texto. Realmente busca campos específicos para valores. Por defecto, solo mira el nombre del proceso cuando realiza una búsqueda y devuelve el PID . Puede buscar en la línea de comando completa agregando la -fopción. También puede buscar otros campos que pueden ser útiles, como hacer coincidir el terminal donde se está ejecutando un proceso o la identificación del grupo.

Caleb
fuente