proc_pid_root

Table des matières
Retour à l'index

 

NOM

/proc/pid/root/ - Lien symbolique vers le répertoire racine  

DESCRIPTION

/proc/pid/root/
UNIX et Linux gèrent une notion de racine du système de fichiers par processus, configurée avec l'appel système chroot(2). Ce fichier est un lien symbolique qui pointe vers le répertoire racine du processus, et se comporte de la même façon que exe et fd/*.
Il est cependant à remarquer que ce fichier n’est pas simplement un lien symbolique. Il fournit la même vue du système de fichiers (incluant les espaces de noms et l’ensemble des montages par processus) que le processus lui-même. Un exemple illustre ce point. Dans un terminal, démarrer un interpréteur de commandes dans des nouveaux espaces de noms utilisateur et montage, et dans cet interpréteur créer quelques nouveaux montages :
$ PS1='sh1# ' unshare -Urnm sh1# mount -t tmpfs tmpfs /etc # Montage d’un tmpfs vide à /etc sh1# mount --bind /usr /dev # Montage de /usr à /dev sh1# echo $$ 27123
Dans une seconde fenêtre de terminal, dans l’espace de noms initial montage, chercher le contenu des montages correspondants dans les espaces de noms initial et nouveau :
$ PS1='sh2# ' sudo sh sh2# ls /etc | wc -l # Dans l’espace de noms initial 309 sh2# ls /proc/27123/root/etc | wc -l # /etc dans un autre espace de noms 0 # Le répertoire vide tmpfs sh2# ls /dev | wc -l # Dans l’espace de noms initial 205 sh2# ls /proc/27123/root/dev | wc -l # /dev dans un autre espace de noms 11 # Réellement monté
                                      # bind dans /usr sh2# ls /usr | wc -l # /usr dans l’espace de noms initial 11
Dans un traitement multiprocessus, le contenu du lien symbolique /proc/pid/root n'est pas disponible si le thread principal est déjà terminé (typiquement par un appel à pthread_exit(3).
La permission de déréférencer ou de lire (readlink(2)) ce lien symbolique est régie par une vérification du mode d’accès ptrace PTRACE_MODE_READ_FSCREDS ; consulter ptrace(2).
 

VOIR AUSSI

proc(5)

 

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org>, Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr> et Lucien Gentis <lucien.gentis@waika9.com>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à


 

Index

NOM
DESCRIPTION
VOIR AUSSI
TRADUCTION

This document was created by man2html, using the manual pages.
Time: 05:06:35 GMT, September 19, 2025