pidofes 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 pidofcomando de Linux.

Cómo usar el pidofcomando

Existen diferentes implementaciones de pidofpara distribuciones basadas en Red Hat y Debian. En las distribuciones de Red Hat, el pidofcomando es parte del procps-ngpaquete, mientras que en Debian, es parte de sysvinit-utilsRepasaremos las opciones que son comunes para ambas implementaciones.

La sintaxis del pidofcomando es la siguiente:

pidof [OPTIONS] PROGRAM_NAME

El comando acepta cero o más nombres como argumentos, pero, por lo general, solo pasaría un nombre a pidof.

Cuando se invoca sin ninguna opción, pidofimprimirá los PID de todos los programas en ejecución que coincidan con el nombre dado. Por ejemplo, para encontrar el PID del servidor SSH, ejecutaría:

pidof sshd

Si hay procesos en ejecución con nombres que coinciden sshd, sus PID se mostrarán en la pantalla. Si no se encuentran coincidencias, la salida estará vacía.

4382 4368 811

pidofdevuelve 0cuando al menos un programa en ejecución coincide con el nombre solicitado. De lo contrario, el código de salida es 1Esto puede ser útil al escribir scripts de shell.

Para asegurarse de que solo se muestren los PID del programa que está buscando, use 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, pidofse mostrarán los PID de ambos programas en ejecución.

De forma predeterminada, se muestran todos los PID de los programas en ejecución coincidentes. Use la -sopción para forzar pidofa mostrar solo un PID:

pidof -s program_name

La -oopción le permite excluir un proceso con un PID determinado de la salida del comando:

pidof -o pid program_name

Cuando pidofse invoca con la -oopción, puede usar un nombre de PID especial %PPIDque representa el shell que llama o el script de shell.

Para devolver solo los PID de los procesos que se ejecutan con el mismo directorio raíz, use la -copción.

Esta opción solo pidoffunciona si se ejecuta como root o sudo usuario:

pidof -c pid program_name

Ejemplo de uso del pidofcomando

El siguiente ejemplo muestra cómo usar el pidofcomando en combinación con el kill comando para terminar un programa.

Digamos que el navegador Firefox ha dejado de responder y necesita eliminar los procesos de Firefox. Primero, encuentre los PID, con pidof:

pidof firefox

El comando imprimirá todos los procesos de Firefox:

2551 2514 1963 1856 1771

Una vez que sepa que Firefox procesa los PID, envíe la SEGTERMseñal para terminarlos todos:

sudo kill -9 2551 2514 1963 1856 1771

También puede usar la expresión de sustitución de comando $(...) para terminar el programa con un solo comando:

sudo kill -9 $(pidof firefox)

Conclusión

El pidofcomando se utiliza para averiguar los PID de un programa en ejecución específico.

pidofes un comando simple que no tiene muchas opciones. Por lo general, invocará pidofsolo con el nombre del programa que está buscando.

Si tiene alguna pregunta o comentario, no dude en dejar un comentario.