Licenza
Sistema operativo
Linux
Lingua
Inglese
Recensito da

Proc

Il filesystem /proc contiene informazioni sui processi attivi

Proc è un filesystem fittizio di Linux, che contiene informazioni preziose sui processi attivi. Esistono diversi comandi che offrono versioni elaborate di questi dati, ma spesso è molto più semplice e intuitivo leggere direttamente il contenuto di questo filesystem. È fittizio nel senso che la cartella /proc è in realtà vuota, e i vari file e sottocartelle sono soltanto dei riferimenti creati in tempo reale dal kernel Linux per fornire informazioni a chi le richiede. Conoscere il filesystem proc è utile per chi preferisce accedere alle informazioni usando sempre lo stesso metodo, invece di dover usare molteplici comandi, e anche per chi vuole sviluppare un proprio script per tenere dei report dettagliati con le informazioni di cui si ha bisogno.
Per visualizzare un riassunto delle informazioni più utili fornite da proc sul sistema in generale si può dare il comando procinfo È interessante la stima dell'uptime, il tempo trascorso dall'accensione del sistema, diviso nelle varie percentuali di utilizzo da parte dell'utente, del sistema operativo, e del ciclo idle.
Se si da una occhiata ai vari file e cartelle contenuti in /proc si capisce che ci sono molte informazioni utili: per esempio, leggendo il file modules col comando cat /proc/modules si ottiene l'elenco dei moduli caricati al momento (come con modprobe -l).
Uno degli utilizzi più interessanti di /proc è comunque il monitoraggio dei processi. Prima di tutto si deve capire quale sia il PID del processo che si vuole analizzare, col comando ps aux | grep nomeprocesso Poi si possono leggere i suoi dettagli nella cartella chiamata col PID ls -l /proc/PID i vari file contengono informazioni utili per capire cosa sia andato storto in un processo che non funziona correttamente. In particolare, i file più utili sono:
  • /proc/PID/cmdline Mostra gli argomenti con cui il comando è stato avviato
  • /proc/PID/cpu Mostra la CPU su cui viene eseguito
  • /proc/PID/cwd Un link alla cartella di lavoro del processo
  • /proc/PID/maps Mostra l'intera mappa della memoria del processo e delle librerie
  • /proc/PID/status Mostra uno stato del processo in forma leggibile