Introducción
pidof
es una utilidad de línea de comandos que le permite encontrar el ID de proceso de un programa en ejecución.
En este artículo, explicaremos cómo usar el pidof
en Linux.
Cómo usar el comando pidof
Hay varias pidof
para distribuciones basadas en Red Hat y Debian. En las distribuciones de Red Hat, el pidof
es parte del procps-ng
, mientras que en Debian es parte del paquete sysvinit-utils
Veremos las opciones comunes para ambas implementaciones.
La sintaxis del pidof
es la siguiente:
pidof [OPTIONS] PROGRAM_NAME
El comando acepta cero o más nombres como argumentos, pero generalmente solo se pidof
un nombre pidof.
Si se invoca sin ninguna opción, pidof
imprime 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:
pidof sshd
Si hay procesos que se ejecutan con sshd
coincidentes, sus PID se mostrarán en la pantalla. Si no se encuentra ninguna coincidencia, la salida estará en blanco.
3180 664
pidof
devuelve 0
cuando al menos un programa 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.
Para asegurarse de que solo se muestren los PID del programa que está buscando, utilice la ruta completa del programa como argumento. Por ejemplo, si tiene dos programas en ejecución con el mismo nombre ubicados en dos directorios diferentes, pidof
mostrará los PID de ambos programas en ejecución.
De forma predeterminada, se muestran todos los PID de los programas en ejecución coincidentes. Utilice la opción -s
pidof
para forzar la visualización de un solo PID:
pidof -s program_name
La -o
permite excluir un proceso con un determinado PID de la salida del comando:
pidof -o pid program_name
Cuando se invoca pidof
-o
, se puede utilizar un PID especial llamado %PPID
que representa el shell de llamada o el script de shell.
Para devolver solo los PID de los procesos que se ejecutan en el mismo directorio raíz, utilice la opción -c
Esta opción funciona solo como usuario sudo
pidof -c pid program_name
Ejemplo de uso del comando pidof
El siguiente ejemplo muestra cómo utilizar el pidof
de comandos en combinación con la kill
de comandos para matar a un programa.
Suponga que el navegador Firefox no ha respondido y es necesario detener los procesos de Firefox. Primero, encuentre los PID, con pidof
:
pidof firefox
El comando imprimirá todos los procesos de Firefox:
2661 2534 1134 1476
Una vez que conozca los procesos PID de Firefox, envíe la SEGTERM
todos:
sudo kill -9 2661 2534 1134 1476
También puede usar la expresión de sustitución de comando $(...)
para finalizar el programa en un solo comando:
sudo kill -9 $(pidof firefox)
Conclusión
El pidof
se utiliza para averiguar los PID de un programa en ejecución específico.
pidof
es un comando simple que no tiene muchas opciones. Normalmente, invocará pidof
solo con el nombre del programa que está buscando.