El directorio /proc en Linux
Seguramente te has preguntado alguna vez qué es ese misterioso directorio /proc que hay en tu sistema de ficheros (/proc filesystem). Originariamente, este directorio estaba pensado para ofrecer información rápida y de fácil acceso sobre los procesos del sistema. En la actualidad, su misión ha ido evolucionando y ahora tiene otras utilidades.
Lo primero que debemos saber es que el directorio /proc no es un directorio real de tu sistema de ficheros, sino que es un directorio virtual que sólo se encuentra en memoria (ni se te ocurra incluirlo en tus copias de seguridad). ¿De dónde salen entonces todos estos archivos y directorios? La respuesta es: directamente del Kernel.
El sistema de archivos /proc es pues una forma de comunicarnos directamente con el Kernel, ya que nos da información en tiempo real del estado en que se encuentra, sus parámetros de configuración y otras informaciones ofrecidas por los módulos que se encuentan cargados en memoria. Pero es un canal de doble sentido, ya que podemos escribir en algunos de estos archivos para modificar ciertos parámetros de funcionamiento del kernel.
Veámoslo con un sencillo ejemplo. Con el siguiente comando podemos obtener el nombre del host de nuestra máquina:
cat /proc/sys/kernel/hostname
Pero además, podemos cambiar el nombre del host con el siguiente comando:
echo supermachine.com > /proc/sys/kernel/hostname
Evidentemente cuando reiniciemos la máquina nuestro host volverá a tener su nombre original, pero nos sirve como ejemplo.
Otro clásico es el siguiente, que nos permite activar el reenvío de paquetes TCP/IP para que Linux actúe como un router:
echo 1 > /proc/sys/net/ipv4/ip_forward
Algunos directorios y archivos interesantes son:
| /proc/cpuinfo | Información sobre el microprocesador. |
| /proc/devices | Controladores de dispositivos cargados en memoria. |
| /proc/interrupts | Información sobre las interrupciones. |
| /proc/loadavg | Carga del sistema en tiempo real. |
| /proc/meminfo | Información sobre la memoria RAM y Swap. |
| /proc/modules | Modulos del kernel cargados en memoria. |
| /proc/net | Información sobre el estado de la red. |
| /proc/stat | Datos estadísticos sobre el estado del sistema. |
| /proc/uptime | Número de segundos que lleva el sistema funcionando. |
| /proc/version | Indica la versión del núcleo |
Por supuesto hay bastantes más archivos y directorios interesantes, pero son tantos que los dejo para que los investigues y descubras tú mismo.
Para los programadores del kernel, este directorio tiene bastante interés, ya que ofrece una manera sencilla de comunicar nuestro módulo con el resto del mundo, pero esto ya lo veremos en otro artículo.
Tags: /proc, directorio proc, kernel, Linux




Que maravilla asi da gusto , sigue asi
Muy interesante, realmente. En varias ocasiones tuve cierta lucidés para suponer de qué se trataba, pero aquí lo que expusiste más que claramente. Gracias.
[...] El directorio /proc en Linux – Alberto García [...]