Obtener el PID de un proceso resulta bastante sencillo para toda aquella persona que haya realizado algún curso de Linux. No obstante, somos conscientes de la dificultad que puede suponer para alguien que recién empieza a aprender este sistema operativo.
Para solucionar esto, en este artículo te explicaremos qué es lo que tienes que hacer para averiguar el PID de un proceso. No olvides que, por otro lado, PID es el identificador del proceso, también conocido como Process ID. Este número se utiliza como sistema para poder identificar los procesos.
¿Qué vas a encontrar en este artículo?
- 1 ¿Cómo descubrir el PID con un filtro grep?
- 2 ¿Cómo descubrir el PID con pstree?
- 3 ¿Cómo descubrir los PID con ps?
- 4 ¿Cómo obtener más información de los procesos de Linux que están en ejecución?
- 5 ¿Cómo detener un proceso en Linux con el comando Kill?
- 6 ¿Cómo eliminar un proceso en Linux que se ha quedado colgado?
- 7 ¿Cómo usar el comando PIDOF para averiguar el PID?
- 8 Preguntas y dudas habituales sobre el PID de los procesos de Linux
¿Cómo descubrir el PID con un filtro grep?
Como ya sabes, el comando principal para descubrir el PID es “ps”. No obstante, el proceso resulta mucho más sencillo si incorporas un filtro grep. El código que usarás será de este tipo:
$ ps -ef | grep chrome
Esto te mostrará cuáles son los procesos de Chrome (en nuestro ejemplo) que están activo en ese mismo momento. Si te fijas en la información que aparece en pantalla, el PID se visualiza en la columna más de la derecha. Como podrás ver, en la lista se verán los distintos identificadores de los procesos que encajen con la petición que has realizado, en el caso del ejemplo, “chrome”.
Está claro que ser autodidacta es una de las mejores cualidades que podría tener cualquier programador.
Sin embargo, si quieres acelerar al máximo tu aprendizaje, te recomendamos que veas esta lista con los mejores cursos para aprender Linux desde cero. Los hemos seleccionado y analizado minuciosamente para ayudarte a elegir el ideal.
¿Cómo descubrir el PID con pstree?
La principal particularidad de esta versión de la consulta es que el código separa los procesos primarios y secundarios.
Para ello tienes que usar el siguiente código:
pstree -p | grep "chrome"
Pero es posible que solo quieras ver el proceso principal. Si es así, utiliza este código:
pstree -p | grep "chrome" | head –1 y si quieres ver los secundarios, cámbialo por pstree -p | grep "chrome" | head –2
¿Cómo descubrir los PID con ps?
El comando “ps” es muy práctico, dado que te va a mostrar datos de los procesos activos. No solo te proporciona el PID, sino también la siguiente información:
- Tname = TTY: el terminal que se ha asociado al proceso en cuestión
- Tiempo = TIME: el tiempo que se ha acumulado de la CPU, indicado siempre con una estructura de información con las horas, los minutos y los segundos.
- UCMD = CMD: correspondiente al nombre que tiene el ejecutable.
El código que tendrás que utilizar para descubrir el PID detallado con ps será el siguiente:
ps aux | grep "chrome"
¿Cómo obtener más información de los procesos de Linux que están en ejecución?
Con el comando “ps” ya has descubierto cuáles son los procesos que están en ejecución. Pero, partiendo de esto, también hay otra información valiosa que puedes obtener.
Lo que tienes que hacer es incorporar el añadido “-l” al código. Así, el sistema te mostrará la siguiente información con estos códigos respecto a cada proceso.
Ten en cuenta que el estado del proceso puede cambiar en cuestión de segundos, por lo que quizá necesites verificarlo en varias ocasiones mientras trabajas.
- S: proceso durmiendo, en espera de que ocurra algo para que se ponga en marcha
- I: el proceso se encuentra en desarrollo
- R: el proceso está en cola para que se realice su ejecución
- O: actualmente es un proceso que ya se está ejecutando
- T: proceso que estaba activo y que se ha detenido debido a una operación de rastreo
- Z: un proceso que ha terminado y que ya no está en espera
- X: es un proceso que requiere el uso de una mayor cantidad de memoria primaria del sistema
¿Cómo detener un proceso en Linux con el comando Kill?
Sigue los pasos que te detallamos y podrás hacerlo con facilidad:
- Primero usa el comando “ps” para descubrir el PID.
- Ahora introduce el código Kill y el PID como en este ejemplo: “$ kill 1291”
- Recuerda que, si lo haces con el filtro grep de esta forma “$ ps | grep comando”, será más sencillo.
- Cambia “comando” por el nombre del proceso que quieres detener.
¿Cómo eliminar un proceso en Linux que se ha quedado colgado?
Para esto necesitas seguir la guía del punto anterior, empezando por descubrir el PID, pero el código que usarás para detener el proceso incluirá “-9”. Eso es lo que hace que se haga uso de una señal autoritaria que detendrá el proceso sea cual sea el estado en el que se encuentre.
¿Cómo usar el comando PIDOF para averiguar el PID?
Como forma alternativa, puedes usar Pidof para descubrir el PID, aunque solo funciona en sistemas basados en Linux. Si vas a utilizar Unix, tendrás que sacar provecho a lo que te hemos comentado más arriba del código “ps”.
A continuación, te explicamos cómo usar pidof:
- Introduce el código de esta forma: “pidof comando” o “pidof programa”.
- Opta por varios programas si es lo que necesitas, en cuyo caso el código será: “pidof [options] programaa1 programa2 programa3”
- El código final que usarás será de este tipo “$ pidof lighttpd” o “$ pidof php5-cgi», por poner solo unos ejemplos
Si te ha resultado interesante este comando, puedes ampliar información con alguna de las formaciones que te proponemos de Linux aquí.
Preguntas y dudas habituales sobre el PID de los procesos de Linux
Si tienes alguna pregunta acerca del PID, te recomendamos que sigas leyendo para consultar las más habituales.
¿Son los PID exclusivos de Linux?
No, en realidad no. Este número también se utiliza para las ID de procesos en Unix, Windows e incluso macOS.
¿Cómo se asigna el PID a los procesos?
Es un sistema totalmente automático. Cuando se genera un proceso dentro del sistema, a este se le asigna un PID de forma automatizada.
¿Cómo descubrir el PID de un script?
Vas a necesitar hacer uso de la opción “-x” en el código a utilizar, puesto que de otra manera será difícil obtener el PID de los scripts. El código será como este: “$ pidof -x fetch-data“.
¿Cómo omitir ciertos PID en las búsquedas?
Si ya hay algunos PID que conoces y no quieres que tu sistema pierda tiempo ni esfuerzo con ellos, lo que tendrás que hacer será cargar una excepción de omisión en el código. Trabajando con pidof, el código sería el siguiente:
# pidof -o 4221 lighttpd
En este caso, estaríamos omitiendo el PID 4221 porque ya lo conozcas o no te resulte de valor.
¿Qué PID tiene el proceso de inicio del sistema?
Salvo raras excepciones, el PID del proceso de inicio siempre es el número 1. Se trata de un proceso fundamental que está programado en el kernel y que no depende de ningún otro proceso.