GNU/Linux >> Tutoriels Linux >  >> Linux

Un guide pour le système de fichiers ‘/proc’ sous Linux

/proc , en bref pour "process", est un système de fichiers virtuel, qui est créé à chaque démarrage du système. Il contient des informations relatives aux processus en cours, à la gestion de la mémoire ainsi qu'à certaines configurations matérielles.

Chaque Linux a /proc système de fichiers quel que soit le type ou la version. Étant un système de fichiers virtuel, il est accessible depuis n'importe quel répertoire sous Linux. Pour entrer dans le système de fichiers, nous exécutons la commande :

Comment visiter le système de fichiers "/proc" ?

La première chose que nous allons apprendre est comment naviguer vers le système de fichiers /proc.

cd /proc

'cd' se réfère à "changer de répertoire", qui est utilisé pour basculer vers d'autres répertoires sous Linux.

Contenu du système de fichiers /proc

Au lieu de changer de répertoire, nous pouvons à la place lister tous les fichiers de /proc système de fichiers sur le terminal en utilisant :

ls /proc

'ls' La commande est utilisée pour lister tous les fichiers et répertoires présents à l'intérieur de l'emplacement spécifié. Plus d'informations ici.

Le 'ls' La commande utilise un jeu de couleurs pour la représentation des fichiers et des répertoires.

Schéma de couleurs

  • Bleu – La partie bleue de la sortie représente les sous-répertoires .
  • Blanc – Les fichiers non colorés sont des fichiers normaux contenant des données .
  • Cyan – Les fichiers de couleur cyan sont des liens symboliques.

Comme nous pouvons le voir /proc contient un grand nombre de fichiers et de répertoires. Nous en passerons en revue quelques-uns importants.

Répertoires numérotés

Chaque répertoire numéroté indique un ID de processus. L'ID de processus (PID) est un ID unique attribué à un processus particulier qui est en cours d'exécution ou en veille dans le système. Chaque répertoire de processus contient des fichiers qui stockent des informations sur le processus respectif.

Il faut noter que chaque processus est crucial pour le bon fonctionnement du système. Par conséquent, pour un accès complet à chaque fichier dans les répertoires de processus, nous avons besoin d'un accès root. Cela peut être réalisé par 'sudo -s' ou 'sudo su' sous Linux. Plus d'informations sur sudo.

Regardons un exemple de processus avec PID =15.

Liste des matières

L'extraction du contenu du répertoire numéroté 15, peut se faire par :

ls /proc/15

Informations sur le processus

Pour extraire des informations concernant le processus 15, nous exécutons :

cat /proc/15/status

'cat' est un outil Linux pour concaténer des fichiers. Ici, nous l'avons juste utilisé pour extraire les données stockées dans 'status' fichier dans '15' répertoire.

Pour vérifier l'authenticité de la sortie, nous pouvons toujours vérifier l'état du processus à l'aide de la commande ps en :

ps -p 15

La commande ci-dessus filtre l'état du processus en fonction du PID donné.

Autres détails

Chaque fichier à l'intérieur de '/proc/15' contient des informations relatives au processus '15' . Certains des fichiers sont :

  • /proc/15/mem – La mémoire le processus tient déjà.
  • /proc/15/environ – Le ensemble de variables d'environnement lors du lancement du processus.
  • /proc/15/cwd – Le lien vers le répertoire de travail actuel (CWD) du processus.
  • /proc/15/limits – Stocke les valeurs de resource-limits comme le temps CPU ou l'espace mémoire.
  • /proc/15/fd – Le répertoire qui contient les descripteurs de fichiers .
  • /proc/15/cmdline – Il contient la ligne de commande entière pour le processus.

Pour en savoir plus sur ces fichiers dans les répertoires liés aux processus, nous pouvons consulter les pages de manuel en utilisant 'man proc' .

Statistiques de la mémoire

‘/proc/meminfo’ contient des informations sur l'utilisation de la mémoire du système. Ce fichier est accessible par :

cat /proc/meminfo

Informations sur le processeur

Pour accéder aux détails liés aux éléments dépendant du processeur tels que la vitesse d'horloge du processeur, le modèle, etc., "/proc/cpuinfo" peut être utilisé :

cat /proc/cpuinfo

Fichiers verrouillés par le noyau

Dans un environnement multi-threading, le verrouillage est la clé pour résoudre l'édition simultanée d'un fichier. '/proc/locks' contient la liste des verrous actuellement implémentés par le noyau.

cat /proc/locks

Chaque ligne contient un seul verrou. Cela peut être interprété comme :

  • 1 : – Le numéro de série dans les locks fichier.
  • POSIX – Le type de mise en œuvre du verrou .
  • AVISPrévient une tentative de verrouillage le fichier encore .
  • ÉCRIRE – Le type de serrure sur la base de accès , en LECTURE ou en ÉCRITURE.
  • 2056 – Le PID du processus qui détient le verrou .
  • 08:07:5899560 – L'identification du fichier.
  • 0 EOF – Le démarrage et fin point de la région verrouillée du fichier.

Modules cryptographiques

'/proc/crypto' contient la liste des chiffrements pris en charge par l'API de chiffrement du noyau. Son contenu ressemble à ceci :

cat /proc/crypto

Systèmes de fichiers pris en charge

'/proc/filesystems' contient la liste des autres systèmes de fichiers actuellement pris en charge ou montés par le noyau Linux.

cat /proc/filesystems

La deuxième colonne de la sortie contient le nom des systèmes de fichiers pris en charge, tandis que la première colonne spécifie s'il est actuellement monté ou non.

L'utilisation de 'nodev' signifie que le système de fichiers suivant n'est pas monté.

Autres fichiers dans ‘/proc’

Certains des autres fichiers contenant des informations importantes sont :

  • /proc/interrupts – Contient des interruptions pour chaque CPU .
  • /proc/ioports – Stocke la liste de tous les ports d'entrée/sortie en cours d'utilisation.
  • /proc/diskstats – Affiche des statistiques pour chaque périphérique de disque .
  • /proc/version – Stocke la version du noyau .
  • /proc/tty – Sous-répertoire contenant les fichiers liés aux pilotes de terminaux .

Conclusion

Cet article sur proc système de fichiers ne touche que la surface du sujet. Cela pourrait suffire à un utilisateur Linux occasionnel. Dans un cas, vous avez toujours une curiosité sur les possibilités de proc système de fichiers, vous pouvez utiliser la commande man (man proc) .

Merci pour la lecture. N'hésitez pas à commenter ci-dessous pour plus de questions ou de critiques.


Linux
  1. Processus de démarrage Linux :un guide pour démarrer

  2. Linux - Modifier /proc/pid/environ après le démarrage du processus ?

  3. Linux – Fusionner /usr/bin et /usr/sbin dans /bin (gnu/linux) ?

  4. linux /proc/loadavg

  5. Comment savoir à partir de quel dossier un processus est en cours d'exécution ?

Configuration Linux :Comprendre les répertoires *.d dans /etc

Qu'est-ce que /dev/null sous Linux

Fichiers /proc/cpuinfo et /proc/meminfo sous Linux

Comprendre les fichiers /proc/mounts, /etc/mtab et /proc/partitions

/proc/[pid]/pagemaps et /proc/[pid]/maps | linux

Comment lire depuis /proc/$pid/mem sous Linux ?