/proc
, abbreviazione di “processo”, è un file system virtuale, che viene creato ad ogni avvio del sistema. Contiene informazioni relative ai processi in corso, alla gestione della memoria e ad alcune configurazioni hardware.
Ogni Linux ha /proc
file system indipendentemente dal tipo o dalla versione. Essendo un file system virtuale, è possibile accedervi da qualsiasi directory in Linux. Per entrare nel file system, eseguiamo il comando:
Come si visita il file system '/proc'?
La prima cosa che impareremo è come navigare nel file system /proc.
cd /proc
'cd'
si riferisce a come "cambia directory", che viene utilizzato per passare ad altre directory in Linux.
Contenuto del file system /proc
Invece di cambiare directory, possiamo invece elencare tutti i file di /proc
file system sul terminale utilizzando:
ls /proc
'ls'
comando viene utilizzato per elencare tutti i file e le directory presenti all'interno della posizione specificata. Maggiori informazioni su ls qui.
Il 'ls'
Il comando utilizza una combinazione di colori per la rappresentazione di file e directory.
Combinazione colori
- Blu – La parte blu dell'output rappresenta le sottodirectory .
- Bianco – I file non colorati sono normali file contenenti dati .
- Ciano – I file di colore ciano sono collegamenti simbolici.
Come possiamo vedere /proc
contiene un numero enorme di file e directory. Ne esamineremo alcuni importanti.
Directory numerate
Ciascuna directory numerata denota un ID processo. Process ID (PID) è un ID univoco dato a un particolare processo che è in esecuzione o inattivo nel sistema. Ciascuna directory di processo contiene file che memorizzano informazioni sul rispettivo processo.
Va notato che ogni processo è fondamentale per il corretto funzionamento del sistema. Pertanto, per l'accesso completo a ciascun file nelle directory di processo, è necessario l'accesso come root. Può essere ottenuto da 'sudo -s'
o 'sudo su'
in Linux. Maggiori informazioni su sudo.
Diamo un'occhiata a un esempio di processo con PID =15.
Elenco dei contenuti
L'estrazione del contenuto della rubrica numerata 15 può essere effettuata:
ls /proc/15
Informazioni sul processo
Per estrarre informazioni relative al processo 15, eseguiamo:
cat /proc/15/status
'cat'
è uno strumento Linux per concatenare i file. Qui, l'abbiamo appena usato per estrarre i dati archiviati in 'status'
file all'interno di '15'
directory.
Per verificare l'autenticità dell'output, possiamo sempre controllare lo stato del processo utilizzando il comando ps tramite:
ps -p 15
Il comando precedente filtra lo stato del processo in base al PID specificato.
Altri dettagli
Ogni file all'interno di '/proc/15'
contiene alcune informazioni relative al processo '15'
. Alcuni dei file sono:
- /proc/15/mem – La memoria il processo è già valido.
- /proc/15/environ – Le variabili d'ambiente impostate durante l'avvio del processo.
- /proc/15/cwd – Il collegamento alla directory di lavoro corrente (CWD) del processo.
- /proc/15/limits – Memorizza i valori di limiti-risorse come il tempo della CPU o lo spazio di memoria.
- /proc/15/fd – La directory che contiene descrittori di file .
- /proc/15/cmdline – Contiene l'intera riga di comando per il processo.
Per saperne di più su tali file all'interno delle directory relative ai processi, possiamo fare riferimento alle pagine di manuale usando 'man proc'
.
Statistiche di memoria
'/proc/meminfo'
contiene informazioni sull'utilizzo della memoria del sistema. Questo file è accessibile da:
cat /proc/meminfo
Informazioni sulla CPU
Per accedere ai dettagli relativi agli elementi dipendenti dalla CPU come la velocità di clock della CPU, il modello, ecc., è possibile utilizzare "/proc/cpuinfo":
cat /proc/cpuinfo
File bloccati dal kernel
In un ambiente multi-threading, il blocco è la chiave per risolvere la modifica simultanea di un file. '/proc/locks'
contiene l'elenco dei blocchi attualmente implementati dal kernel.
cat /proc/locks
Ogni riga contiene un singolo lucchetto. Può essere interpretato come:
- 1: – Il numero di serie nei
locks
file. - POSIX – Il tipo di implementazione del blocco .
- CONSULENZA – Previene un tentativo di bloccare il file di nuovo .
- SCRIVERE – Il tipo di blocco sulla base di accesso , LEGGERE o SCRIVERE.
- 2056 – Il PID del processo che mantiene il blocco .
- 08:07:5899560 – L'identificazione del file.
- 0 EOF – L'inizio e fine punto della regione bloccata del file.
Moduli crittografici
'/proc/crypto'
contiene l'elenco delle crittografie supportate dall'API di crittografia del kernel. Il suo contenuto si presenta così:
cat /proc/crypto
Filesystem supportati
'/proc/filesystems'
contiene l'elenco di altri file system attualmente supportati o montati dal kernel Linux.
cat /proc/filesystems
La seconda colonna dell'output contiene il nome dei file system supportati, mentre la prima colonna specifica se è attualmente montato o meno.
L'uso di
'nodev'
significa che il seguente file system non è montato.
Altri file in '/proc'
Alcuni degli altri file contenenti informazioni importanti sono:
- /proc/interrupts – Contiene interruzioni per ogni CPU .
- /proc/ioports – Memorizza l'elenco di tutte le porte di ingresso/uscita in uso.
- /proc/diskstats – Visualizza le statistiche per ogni dispositivo disco .
- /proc/versione – Memorizza la versione del kernel .
- /proc/tty – Sottodirectory contenente file relativi a driver di terminale .
Conclusione
Questo articolo su proc
il file system tocca solo la superficie dell'argomento. Potrebbe essere sufficiente per un utente Linux occasionale. In un caso, hai ancora una curiosità sulle possibilità di proc
file system, allora puoi usare il comando man (man proc)
.
Grazie per aver letto. Sentiti libero di commentare di seguito per ulteriori domande o critiche.