GNU/Linux >> Linux Esercitazione >  >> Linux

Una guida al file system '/proc' in Linux

/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 .
  • CONSULENZAPreviene 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.


Linux
  1. Processo di avvio di Linux:una guida per iniziare

  2. Importanti file di filesystem Linux /proc che devi conoscere

  3. /proc/[pid]/pagemaps e /proc/[pid]/maps | Linux

  4. Come scoprire da quale cartella è in esecuzione un processo?

  5. Come impostare lo swapiness per processo per Linux?

Configurazione Linux:comprensione delle directory *.d in /etc

Che cos'è /dev/null in Linux

/proc/cpuinfo e /proc/meminfo in Linux

Comprendere i file /proc/mounts, /etc/mtab e /proc/partitions

Come posso leggere da /proc/$pid/mem sotto Linux?

I siti web dovrebbero vivere in /var/ o /usr/ in base all'utilizzo consigliato?