Según el FHS, el directorio /proc es el método adecuado para obtener información sobre el sistema. Además, también nos brinda datos sobre los procesos corriendo en él. En este post y en el siguiente veremos los contenidos de este directorio y explicaremos algunos de los puntos más útiles del mismo.
El directorio /proc
Para empezar, debemos hacer una importante aclaración. Los contenidos de /proc no son archivos y directorios «reales» sino son una especie de «ventana» que indica qué sucede en el kernel en un momento dado. Si ejecutamos el comando
du -sch /proc/*
podemos ver que el tamaño ocupado por este directorio en disco es de 0 bytes.
Lo que primero nos llama la atención en el directorio /proc es que hay varios directorios cuyo nombre es un número (1, 10, 12, 13, 606, etc). Dicho número es el PID de un cierto proceso y cada subdirectorio y contiene información específica sobre el mismo.
Cuando un proceso finaliza su ejecución, o es terminado, su directorio asociado dentro de /proc desaparece.
Por ejemplo, el proceso con PID 606 representa el servicio sshd que escucha por conexiones entrantes mediante el protocolo SSH. Veamos en la Fig. 1 qué hay en el interior del directorio /proc/606:
Algunos de los archivos más interesantes dentro del mismo son los siguientes:
- cmdline: contiene los argumentos de la línea de comandos que se utilizaron para iniciar el proceso.
- cwd: es un enlace al directorio actual del proceso.
- exe: es un enlace al ejecutable del proceso.
- status: muestra información detallada sobre el estado del proceso.
Entre otras cosas, como veremos en el próximo post, el directorio /proc también provee información sobre el uso de la memoria y de CPU. Estos datos son esenciales a la hora de monitorear el funcionamiento del sistema.
¡No olviden suscribirse al blog para no perderse detalle!