PROC(5)

NOM
proc - Pseudo-système de fichiers d'informations sur les processus

DESCRIPTION
Le système de fichier proc est un pseudo-système de fichiers qui est utilisé comme interface avec les structures de données du noyau. Il est généralement monté sur /proc. La plupart des fichiers sont en lecture seule, mais quelques uns permettent la modification de variables du noyau.

La description suivante fournit un aperçu de la hiérarchie /proc.

/proc/[nombre]
    Il existe un sous-répertoire pour chaque processus en cours. Le sous-répertoire rend comme nom le PID du processus. Chaque sous-répertoire contient les pseudo-fichiers et pseudo-répertoires suivants.

/proc/[number]/auxv (depuis 2.6.0-test7)
    Celui-ci contient les informations de l'interpréteur ELF passées au processus au moment de l'exécution. Le format est un ID de type unsigned long plus une valeur de type unsigned long pour chaque entrée. La dernière entrée contient deux zéros.

/proc/[nombre]/cmdline
    Ce fichier contient la ligne de commande complète du processus, sauf si le processus est un zombie. Dans ce dernier cas, il n'y a rien dans le fichier : une lecture reviendra après avoir lu 0 caractère. Les arguments de la ligne de commande apparaîssent comme un ensemble de chaînes séparées de caractères NUL, avec un octet NUL supplémentaire après le dernier argument.

/proc/[number]/coredump_filter (depuis le noyau 2.6.23)
    Voir core(5).

/proc/[nombre]/cpuset (depuis le noyau 2.6.12)
    Voir cpuset(7).

/proc/[nombre]/cwd (Current Working Directory)
    Il s'agit d'un lien symbolique sur le répertoire de travail courant du processus. Pour obtenir le répertoire de travail courant du processus 20 par exemple, vous pouvez-faire ceci :
    cd /proc/20/cwd; /bin/pwd
    Notez que la commande directe pwd est souvent une commande interne du shell, et qu'elle risque de ne pas fonctionner correctement. Avec bash(1), utilisez pwd -P. Dans un processus multithread, le contenu de ce lien symbolique n'est plus disponible si le thread principal est déjà terminé (typiquement en appelant pthread_exit(3)).

/proc/[nombre]/environ
    Ce fichier contient l'environnement du processus. Les entrées sont séparées par des octets nuls (« \0 »), et il devrait y en avoir un à la fin du fichier. Ainsi, pour afficher l'environnement du processus numéro 1, utilisez :
    (cat /proc/1/environ; echo) | tr "\000" "\n"
    (Pour savoir à quoi cela peut bien servir, voyez lilo(8) ou grub(8).)

/proc/[nombre]/exe
    Sous Linux 2.2 et 2.4, ce fichier est un lien symbolique représentant le chemin réel de la commande en cours d'exécution. Ce lien symbolique peut être déréférencé normalement ; tenter de l'ouvrir fera que l'on ouvrira le fichier exécutable. Vous pouvez même taper /proc/[pid]/exe pour lancer une copie du même processus que celui du pid indiqué. Dans un processus multithread, le contenu de ce lien symbolique n'est plus disponible si le thread principal est déjà terminé (typiquement en appelant pthread_exit(3)). Sous Linux 2.0 et antérieurs, /proc/[nombre]/exe était un pointeur sur le fichier binaire exécuté, qui apparaîssait sous forme de lien symbolique. Un appel système readlink(2) sur ce fichier renvoyait une chaîne de la forme :
        [périphérique]:in