Comment utiliser procfs pour obtenir des informations relatives au système sous Linux

Si vous regardez le système de fichiers Linux, vous avez peut-être remarqué un répertoire /proc avec de nombreux nombres étranges et d'autres fichiers à l'intérieur. A quoi sert cet annuaire ? Il contient en fait de nombreuses informations utiles associées à votre système Linux et aux processus en cours.

Cet article traitera en détail du système de fichiers proc, ainsi qu'un bref guide sur la façon d'obtenir des informations relatives au système à l'aide de procfs.

Qu'est-ce que le système de fichiers proc ?

Le système de fichiers proc (procfs) est une idée empruntée au système de recherche Plan 9 des Bell Labs , un successeur de recherche du système Unix original qui y a été développé.

Le système de fichiers étend le concept original de « tout sous forme de fichier », y compris les périphériques matériels, jusqu'à sa conclusion logique en représentant chaque processus en cours d'exécution sur le système sous la forme d'une hiérarchie de fichiers que vous pouvez examiner avec des outils standard.

Le fichier le plus utile dans la hiérarchie proc pour les informations système est le fichier cpuinfo . Pour le voir, tapez :

 cat /proc/cpuinfo

Selon le nombre de cœurs de processeur de votre machine, ce fichier peut contenir de nombreuses informations. Par conséquent, vous voudrez peut-être substituer cat à Most, qui est un pager Linux .

D'autres fichiers utiles dans le répertoire /proc sont meminfo , qui affiche les détails associés à la mémoire de votre système, et le fichier mounts , qui fournit des informations sur le système de fichiers monté. Vous pouvez facilement examiner ces fichiers avec les outils de traitement de texte Linux standard.

En relation: Meilleurs utilitaires de ligne de commande pour afficher le contenu d'un fichier sous Linux

Dans le système de fichiers proc, tous les processus en cours d'exécution ont leur propre répertoire, qui est leur numéro d'identification de processus, ou PID. Par exemple, le processus 1, le processus d'initialisation qui démarre tous les autres processus sur le système Linux au moment du démarrage, a son propre répertoire avec le même numéro, /proc/1 .

Tout en trouvant le processus que vous souhaitez étudier, vous utiliserez la commande ps , top, htop ou d'autres commandes Linux pour répertorier le PID de ce processus particulier. Lorsque vous avez trouvé l'ID de processus, accédez à ce répertoire sous /proc .

Dans le répertoire du processus, vous trouverez plusieurs fichiers contenant des informations sur différentes facettes du processus. Par exemple, exe est un lien symbolique vers l'exécutable qui a démarré le processus, environ répertorie les variables d'environnement et cmdline affiche tous les arguments de ligne de commande avec lesquels le processus a été lancé. Le fichier d' état répertorie une grande partie de ces informations dans un format plus « lisible par l'homme ».

Connexe : Qu'est-ce qu'un processus sous Linux ?

Obtenir des informations système à l'aide de procfs

Le système de fichiers proc montre qu'à peu près tout est un fichier sous Linux, même des choses auxquelles vous ne vous attendriez pas. Même à l'intérieur du dossier racine, vous trouverez de nombreux fichiers, chacun contenant des informations sur les différents composants du système.

Linux, avec ses commandes uniques et ses innombrables distributions, peut sembler un système d'exploitation mystérieux aux débutants au début, mais tout est à sa place.