/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
![](https://m.unixlinux.online/article/uploadfiles/202207/2022071114050233.png)
Informations sur le processus
Pour extraire des informations concernant le processus 15, nous exécutons :
cat /proc/15/status
![](https://m.unixlinux.online/article/uploadfiles/202207/2022071114050335.png)
'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
![](https://m.unixlinux.online/article/uploadfiles/202207/2022071114050359.png)
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
![](https://m.unixlinux.online/article/uploadfiles/202207/2022071114050321.png)
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
![](https://m.unixlinux.online/article/uploadfiles/202207/2022071114050370.png)
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
![](https://m.unixlinux.online/article/uploadfiles/202207/2022071114050302.png)
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 .
- AVIS – Pré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
![](https://m.unixlinux.online/article/uploadfiles/202207/2022071114050390.png)
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
![](https://m.unixlinux.online/article/uploadfiles/202207/2022071114050382.png)
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.