Introducción
pgrep
es una utilidad de línea de comandos que le permite encontrar los ID de proceso de un programa en ejecución según ciertos criterios. Puede ser un nombre de proceso completo o parcial, un usuario que ejecuta el proceso u otros atributos.
El pgrep
es parte del procps
(o procps-ng
), que está preinstalado en casi todas las distribuciones de Linux.
Este artículo cubre los conceptos básicos del pgrep
Utilice el comando pgrep
La sintaxis del pgrep
es la siguiente:
pgrep [OPTIONS] <PATTERN>
La <PATTERN>
se especifica mediante expresiones regulares extendidas.
Si se invoca sin ninguna opción, pgrep
muestra los PID de todos los programas en ejecución que coinciden con el nombre especificado. Por ejemplo, para encontrar el PID del servidor SSH, ejecute:
pgrep ssh
Si hay procesos en ejecución con nombres que coincidan con "ssh", sus PID se mostrarán en la pantalla. Si no se encuentra ninguna coincidencia, la salida está en blanco.
947
1089
1104
4925
4926
El comando devuelve 0
cuando al menos un proceso en ejecución coincide con el nombre solicitado. De lo contrario, el código de salida es 1
. Esto puede resultar útil cuando se utiliza en scripts de shell.
pgrep
imprime cada ID de proceso coincidente en una nueva línea. La -d
permite especificar un delimitador diferente. Por ejemplo, si desea usar un espacio como delimitador, ingrese:
pgrep ssh -d' '
947 1089 1104 4930 4954
La -l
permite a pgrep
mostrar el nombre del proceso junto con su ID:
pgrep ssh -l
pgrep
usa expresiones regulares para realizar la operación de búsqueda y listará todos los procesos que contienen "ssh" en sus nombres:
947 sshd
1089 ssh-agent
1104 sshd
Si desea hacer coincidir solo procesos cuyos nombres sean exactamente como el patrón de búsqueda, debe usar:
pgrep '^sshd$' -l
947 sshd
1104 sshd
El carácter de intercalación ( ^
) coincide con el principio de la cadena y el dólar $
al final.
De forma predeterminada, pgrep
solo coincide con el nombre del proceso. -f
se usa la opción -f, el comando coincide con listas de argumentos completas.
pgrep -f ssh
Utilice la -u
para ver los procesos ejecutados por un usuario en particular:
pgrep -u root
Para especificar varios usuarios, separe sus nombres con comas:
pgrep -u root,alice
También puede combinar opciones y patrones de búsqueda. Por ejemplo, para imprimir todos los procesos y sus nombres que se ejecutan bajo el nombre "alice" del usuario y tienen "gnome" en sus nombres, escriba:
pgrep -l -u alice gnome
Para ver solo los procesos iniciados más antiguos o más recientes, use la -n
(para el más reciente) o -o
(para el más antiguo).
Por ejemplo, para encontrar el proceso más reciente iniciado por el usuario "alice", ingrese:
pgrep -lnu alice
Como puede ver en el ejemplo anterior, también puede combinar opciones sin un espacio entre ellas y con un solo guión.
Para revertir la coincidencia, es decir, para mostrar solo los procesos que no coinciden con los criterios especificados, use la opción -v
El siguiente comando imprimirá todos los procesos que no son ejecutados por el usuario "alice":
pgrep -v -u alice
La -c
le dice a pgrep
que imprima solo el recuento de trabajos coincidentes. Por ejemplo, para buscar procesos que se ejecutan como "alice" del usuario, ingrese:
pgrep -c -u alice
Conclusión
El pgrep
se utiliza para averiguar los PID de un programa en ejecución según diferentes criterios.
Para obtener más información sobre la pgrep
de comandos, visite el hombre pgrep página o escriba el man pgrep
su terminal:
man pgrep