Este artículo cubre los conceptos básicos de Linux pgrep
comando.
pgrep
es una utilidad de línea de comandos que le permite encontrar los ID de proceso de un programa en ejecución en función de criterios determinados. Puede ser un nombre de proceso completo o parcial, un usuario que ejecuta el proceso u otros atributos.
El pgrep
El comando es parte de procps
(o procps-ng
), que está preinstalado en casi todas las distribuciones de Linux.
Cómo usar pgrep
Comando #
La sintaxis para pgrep
El comando es el siguiente:
pgrep [OPTIONS] <PATTERN>
El <PATTERN>
coincidente se especifica usando expresiones regulares extendidas.
Cuando se invoca sin ninguna opción, pgrep
muestra los PID de todos los programas en ejecución que coinciden con el nombre dado. Por ejemplo, para encontrar el PID del servidor SSH, ejecutaría:
pgrep ssh
Si hay procesos en ejecución con nombres que coinciden con "ssh", sus PID se mostrarán en la pantalla. Si no se encuentran coincidencias, la salida está vacía.
1039
2257
6850
31279
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 ser útil al escribir scripts de shell.
Si desea enviar señales a los procesos coincidentes, use pkill
. Este comando es un contenedor alrededor del pkill
y utiliza las mismas opciones y coincidencia de patrones.
pgrep
imprime cada ID de proceso coincidente en una nueva línea. El -d
La opción le permite especificar un delimitador diferente. Por ejemplo, si desea usar un espacio como delimitador, ingrese:
pgrep ssh -d' '
1039 2257 6850 31279
El -l
opción le dice a pgrep
para mostrar el nombre del proceso junto con su ID:
pgrep ssh -l
pgrep
utiliza expresiones regulares para realizar la operación de búsqueda y mostrará una lista de todos los procesos que contienen "ssh" en sus nombres:
1039 sshd
2257 ssh-agent
6850 ssh
31279 ssh-agent
Si desea hacer coincidir solo los procesos cuyos nombres son exactamente como el patrón de búsqueda, usaría:
pgrep '^ssh$' -l
6850 ssh
El signo de intercalación (^
) el carácter coincide con el principio de la cadena y el dólar $
al final.
Por defecto, pgrep
coincide solo con el nombre del proceso. Cuando -f
se utiliza la opción el comando coincide con listas completas de argumentos.
pgrep -f ssh
Usa el -u
opción para decirle a pgrep
para mostrar los procesos que está ejecutando un usuario determinado:
pgrep -u root
Para especificar varios usuarios, separe sus nombres con comas:
pgrep -u root,mark
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 usuario "marca" y contienen "gnomo" en sus nombres, debe escribir:
pgrep -l -u mark gnome
Para mostrar solo los procesos iniciados menos recientemente (más antiguos) o más recientemente (más nuevos), use -n
(para los más nuevos) o el -o
(para el más antiguo) opción.
Por ejemplo, para encontrar el proceso más reciente iniciado por el usuario "marcar", ingresaría:
pgrep -lnu mark
Como puede ver en el ejemplo anterior, también puede combinar las opciones sin un espacio entre ellas y con un solo guión.
Para invertir la coincidencia, es decir, para mostrar solo los procesos que no coinciden con los criterios dados, use -v
opción. El siguiente comando imprimirá todos los procesos que no están siendo ejecutados por el usuario "marcar":
pgrep -v -u mark
El -c
opción le dice a pgrep
para imprimir solo el recuento de los procesos coincidentes. Por ejemplo, para encontrar los procesos que se ejecutan como usuario "marca", ingrese:
pgrep -c -u mark
Conclusión #
El pgrep
El comando se utiliza para averiguar los PID de un programa en ejecución en función de diferentes criterios.
Para más información sobre pgrep
comando, visite la página de manual de pgrep o escriba man pgrep
en tu terminal.
Si tiene alguna pregunta o comentario, no dude en dejar un comentario.