Info sobre procesos en Linux: detalles adicionales

En nuestro post anterior hablamos sobre las señales en Linux. También explicamos lo que sucede cuando se envía una de ellas a un proceso mediante los comandos kill o killall. Por otro lado, programas como top utilizan la información disponible en /proc para mostrarnos detalles sobre los procesos que se están ejecutando en nuestro sistema. En esta ocasión veremos cómo acceder a más info sobre procesos utilizando estos recursos.

Info sobre procesos en Linux

Para empezar, tomemos como ejemplo el proceso con PID 3905, el cual iniciamos utilizando el siguiente comando:

yes > /dev/null

Para retomar el control de la terminal, presionamos la combinación de teclas Ctrl + z. A continuación, podremos observar que el proceso ha sido detenido:

[1]+ Stopped yes > /dev/null

Sin embargo, el mismo continúa presente en la tabla de procesos. Podemos verificarlo con

ps --pid=3905

o utilizando top, como vemos en la Fig. 1:

Info sobre procesos: identificar proceso detenido con top
Figura 1 – Info sobre procesos: identificar proceso detenido con top

Es importante aclarar que el hecho de que un proceso esté detenido no significa que esté muerto.

Dentro del directorio /proc/3905 hallaremos más información sobre el proceso en cuestión. Entre otras cosas, el archivo status nos detalla el nombre del proceso, su estado, el PPID, entre otras cosas. Otro ítem de interés es el enlace simbólico llamado exe. Si hacemos file /proc/3905/exe, accederemos al archivo ejecutable asociado al proceso (en este caso /usr/bin/yes).

¿Cómo reiniciar un proceso detenido?

No habría mucho propósito en mantener la entrada correspondiente en la tabla de procesos si no hubiera una manera de hacer que el proceso detenido retome su ejecución. Por eso, podemos utilizar el comando kill como de costumbre pero enviando la señal 18 (SIGCONT).

Luego de ejecutar el siguiente comando

kill -s SIGCONT 3905

consultemos /proc/3905/status cuál es el nuevo estado del proceso (ver Fig. 2):

head -n 3 /proc/3905/status
Info sobre procesos en /proc
Figura 2 – Info sobre procesos en /proc

Espero que este post les haya resultado útil. ¡Nos leemos en breve!

¡Aprovechá la oportunidad de suscribirte al blog para recibir en tu correo el post nuestro de cada día, novedades, y promociones exclusivas!