Inicio > Gestión de procesos > pgrep

pgrep: Encontrar IDs de procesos

El comando `pgrep` busca procesos en la lista de procesos en ejecución según criterios específicos (por ejemplo, nombre del proceso, usuario, línea de comandos completa) y muestra los IDs de proceso (PID) correspondientes. Esto permite encontrar los procesos deseados de manera más eficiente y sencilla que combinando los comandos `ps` y `grep`.

Descripción general

`pgrep` filtra procesos por varios criterios como nombre del proceso, ID de usuario, terminal, ID de proceso padre (PPID) y devuelve los PIDs correspondientes. Es útil para encontrar y controlar procesos específicos o verificar su estado en scripts.

Funciones principales

  • Soporte de búsqueda basado en expresiones regulares
  • Filtrado de procesos por usuario/grupo
  • Búsqueda por línea de comandos completa
  • Opciones para seleccionar el proceso más antiguo o más reciente

Opciones principales

Criterios de búsqueda

Formato de salida y ordenación

Comando generado:

Combina los comandos.

Descripción:

`pgrep` Ejecutando el comando.

Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.

Ejemplos de uso

Encontrar el PID de un proceso específico

pgrep sshd

Busca el ID del proceso llamado `sshd`.

Encontrar PIDs de procesos por usuario

pgrep -u root

Busca los IDs de todos los procesos ejecutados por el usuario `root`.

Mostrar PID y nombre juntos

pgrep -l firefox

Muestra el ID y el nombre del proceso `firefox` juntos.

Buscar por línea de comandos completa

pgrep -f "apache2.*worker"

Busca el ID de los procesos cuya línea de comandos completa incluye tanto `apache2` como `worker`.

Encontrar un proceso con coincidencia exacta

pgrep -x ssh

Busca el ID del proceso cuyo nombre es exactamente `ssh`. (`sshd` será excluido)

Encontrar el proceso más reciente

pgrep -n chrome

Busca el ID del proceso `chrome` iniciado más recientemente.

Consejos y precauciones

`pgrep` es potente, pero debe usarse con precaución, ya que un uso incorrecto puede provocar la terminación o afectación de procesos no deseados.

Integración con pkill

En lugar de pasar manualmente los PIDs encontrados por `pgrep` al comando `kill`, puedes usar el comando `pkill` para terminar directamente o enviar señales a los procesos con los mismos criterios de búsqueda que `pgrep`. Por ejemplo, `pkill -f "nginx.*worker"` termina directamente los procesos worker de `nginx`.

Uso de expresiones regulares

`pgrep` soporta expresiones regulares de forma nativa. Esto permite realizar coincidencias de patrones complejas.

  • `pgrep 'httpd|nginx'` busca procesos `httpd` o `nginx`.
  • Usado con la opción `-f`, como en `pgrep -f '^/usr/bin/python3.*script.py$'`, puedes encontrar con precisión la ejecución de un script específico.

Opción -x para coincidencia exacta

`pgrep` realiza coincidencias parciales por defecto. Por ejemplo, `pgrep ssh` encontrará no solo `ssh` sino también `sshd`. Para encontrar solo procesos con el nombre exacto `ssh`, usa la opción `-x`. Esto es importante para evitar afectar procesos no deseados.


Comandos de la misma categoría