Il /proc filesystem č uno dei concetti di Unix pių potenti e affascinanti.
In questa directory, che i programmi trattano e vedono come una qualsiasi directory, sono contenuti file e directory che danno in tempo reale informazioni sul sistema.
Di fatto questi file non sono scritti su nessun supporto di memorizzazione e sono espressione diretta del kernel.
Le informazioni che possono trovarsi in /proc sono molte, interessanti e a volte incomprensibili. Di fatto alcuni comuni comandi shell non fanno altro che visualizzare in modo "human readable" info presenti in determinati file in /proc.
Vediamo alcune delle sue parti pių interessanti (e accessibili per noi comuni mortali):
/proc/#PID/...
- Visualizza per ogni processo in memoria (identificato dal suo PID) molte informazioni utili.
/proc/cpuinfo
- Informazioni sulla CPU
/proc/ide/.../
- Informazioni sui dispositivi IDE
/proc/interrupts
- Gli IRQ del sistema
/proc/iomem
- La memoria I/O
/proc/kcore
- Il dump completo della memoria
/proc/modules
- I moduli del kernel
/proc/partitions
- TUTTE le partizioni degli HD
/proc/pci
- I dispositivi PCI
/proc/self
- Link simbolico al PID del processo stesso con cui si accede a /proc/self :-!
/proc/version
- La versione del kernel
/proc/net/arp
- La arp table
/proc/net/dev
- I byte trasferiti sui device di rete
/proc/sys/net/ipv4/
- Directory fondamentale con molte informazioni sullo stack tcp/ip. Su alcuni file č possibile cambiare valore per modificare il comportamento del kernel. Per esempio: echo 1 > /proc/sys/net/ipv4/ip_forward abilita il forwarding dei pacchetti sulla macchina (necessario se opera come firewall o gateway di una rete).
Pratiche di ricompilazione del kernel Linux. Moduli e patch. /proc filesystem