Procfs

De Wiki doc

Révision datée du 23 juin 2019 à 16:10 par Ycharbi (discussion | contributions) (Page créée avec « Category:pseudo systèmes de fichiers {{chantier}} {{info|Une grande partie des informations de cette page provient des sites cités en source. Ce document en regrou... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

EN CHANTIER

Article en cours d'écriture et/ou de test. Certains éléments peuvent être incomplets et mener à un résultat non fonctionnel.
Merci de ne pas rager.

INFORMATION

Une grande partie des informations de cette page provient des sites cités en source. Ce document en regroupe les éléments qui m’intéresse. Aussi, je vous invites à aller jeter un œil aux sites de référence en bas de page.

Procfs est un système de fichier virtuel mettant à disposition de l'utilisateur des informations sur le système sous forme de fichiers dans le répertoire /proc. Il regroupe par exemple la mémoire système, les périphériques montés, la configuration matérielle, etc..

Il peut être considéré comme un centre de contrôle et d’information pour le noyau. En fait, de nombreux utilitaires système ne sont que des appels aux fichiers de ce répertoire. Par exemple, lsmod est identique à cat /proc/modules, tandis que lspci est un synonyme de cat /proc/pci.

En modifiant les fichiers situés dans ce répertoire, vous pouvez même changer les paramètres du noyau (directement ou via sysctl) pendant l’exécution du système.

Description

Bien que la plupart des fichiers exposés par procfs soient en lecture seule, quelques uns permettent tout de même la modification de variables du noyau.

l'arborescence de /proc est la suivante:

/proc/[nombre]

Chaque processus en cours fait l'objet d'un répertoire portant son PID comme nom (d'où le "[nombre]"). Chaque sous-répertoire contient les pseudo-fichiers et pseudo-répertoires suivants:

  • /proc/[nombre]/cmdline: Ce fichier contient la ligne de commande complète du processus. Les arguments de la ligne de commande apparaissent comme un ensemble de chaînes séparées de caractères NUL, avec un octet NUL supplémentaire après le dernier argument. Il conviendra alors de convertir cet octet en espace pour pouvoir exploiter le résultat sans galérer: cat cmdline | tr "\000" " ".
  • /proc/[nombre]/cwd: (Current Working Directory) il s’agit d’un lien sur le répertoire de travail courant du processus.

Sources