Linux / Comando pgrep: buscar procesos por nombre, usuario y argumentos
pgrep busca procesos en ejecución por criterios como el nombre y el usuario, e imprime sus PID (identificadores de proceso). Permite comprobar qué procesos coinciden y no los termina por sí mismo.
El patrón básico se aplica al nombre del proceso con una expresión regular. Si se requiere que el nombre completo coincida exactamente, use -x; para revisar toda la línea de comandos, use -f. -f puede coincidir más ampliamente, así que confirme siempre los resultados.
Sintaxis básica
pgrep [opciones] patrón
La implementación instalada y las opciones pueden variar según la distribución. Verifique la descripción de man pgrep en el sistema actual.
Ejemplos de uso
Buscar PID por nombre
Se imprimen los PID coincidentes uno por línea.
pgrep sshd
Ver PID y línea de órdenes completa
Muestra qué tarea ha sido seleccionada para reducir errores.
pgrep -a sshd
Restringir por usuario y nombre exacto
Reduce el alcance para no seleccionar procesos con el mismo nombre de otros usuarios.
pgrep -u alice -x python3
Razones por las que los resultados de la búsqueda aparecen como PID
pgrep imprime el PID del proceso que cumple con los criterios. Usar -a permite mostrar el PID junto con toda la línea de comando, facilitando su verificación.
pgrep -a sshd
Ejemplo de salida (en un sistema donde el proceso está en ejecución):
1234 /usr/sbin/sshd -D
Si no aparece ninguna línea, puede que no haya procesos coincidentes o que haya problemas con los derechos de búsqueda o los criterios. La búsqueda predeterminada se realiza por nombre de proceso; para buscar hasta la línea completa de comando, use -f. Los patrones amplios pueden incluir procesos inesperados, así que revise los resultados antes de pasarlos a un comando de terminación.
Opciones y formatos principales
| Opción o formato | Descripción |
|---|---|
-a |
Muestra PID junto con toda la línea de comando. |
-x |
El nombre del proceso completo debe coincidir con el patrón. |
-f |
Verifica toda la línea de comando en lugar del nombre del proceso. |
-u usuario |
Selecciona los procesos cuyo ID de usuario efectivo coincide con el indicado. |
-n / -o |
Selecciona la coincidencia más reciente o la más antigua. |
Precauciones al usar
El nombre del proceso puede ser diferente del que se muestra en la línea de comandos, y los nombres largos pueden verse afectados por los límites internos de la implementación. -f puede encontrar más trabajos de los esperados. Antes de pasar los PID encontrados a kill, verifíquelos de nuevo con ps -p PID -o cmd=, etc.
Preguntas frecuentes
¿Es un error si pgrep no devuelve ningún resultado?
Por lo general, significa que no hay procesos que cumplan con la condición y el estado de salida puede no ser 0. Para confirmar el estado del servicio, compruebe también el momento de ejecución y las condiciones de búsqueda.
Documentación oficial
Se puede consultar el comportamiento exacto de las opciones y las diferencias según la implementación en la documentación oficial de pgrep.




