Sophie

Sophie

distrib > Mandriva > 10.0-com > i586 > by-pkgid > 664c05250964d29fcf1d0bb310959fbc > files > 18

mandrake-doc-fr-10.0-5.1.100mdk.noarch.rpm

<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Renseignements sur les processus</title><meta name="generator" content="DocBook XSL Stylesheets V1.64.0"><link rel="home" href="index.html" title="Manuel de référence"><link rel="up" href="proc-fs.html" title="Chapitre 10. Le système de fichiers /proc"><link rel="previous" href="proc-fs.html" title="Chapitre 10. Le système de fichiers /proc"><link rel="next" href="ch10s02.html" title="Informations sur le matériel"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Renseignements sur les processus</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="proc-fs.html">Précédent</a> </td><th width="60%" align="center">Chapitre 10. Le système de fichiers /proc</th><td width="20%" align="right"> <a accesskey="n" href="ch10s02.html">Suivant</a></td></tr></table><hr></div><div class="sect1" lang="fr"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2556968"></a>Renseignements sur les processus</h2></div></div><div></div></div><p><a name="BId-proc-fs-pa3"></a>
         <a class="indexterm" name="BId-proc-fs-it1"></a>
Si vous listez le contenu du répertoire <tt class="filename">/proc</tt>, vous
verrez beaucoup de répertoires dont le nom est un nombre. Ce sont les
répertoires contenant les informations sur tous les processus
fonctionnant à un instant donné sur le système :
</p><a name="BId-proc-fs-pl1"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting">$ ls -d /proc/[0-9]*
/proc/1/    /proc/302/  /proc/451/  /proc/496/  /proc/556/  /proc/633/
/proc/127/  /proc/317/  /proc/452/  /proc/497/  /proc/557/  /proc/718/
/proc/2/    /proc/339/  /proc/453/  /proc/5/    /proc/558/  /proc/755/
/proc/250/  /proc/385/  /proc/454/  /proc/501/  /proc/559/  /proc/760/
/proc/260/  /proc/4/    /proc/455/  /proc/504/  /proc/565/  /proc/761/
/proc/275/  /proc/402/  /proc/463/  /proc/505/  /proc/569/  /proc/769/
/proc/290/  /proc/433/  /proc/487/  /proc/509/  /proc/594/  /proc/774/
/proc/3/    /proc/450/  /proc/491/  /proc/554/  /proc/595/</pre></td></tr></table><p><a name="BId-proc-fs-pa4"></a>
Notez qu'en tant qu'utilisateur, vous pouvez seulement afficher les
informations relatives à vos vos propres processus (et ceci est tout à fait
compréhensible). Donc, connectons-nous en tant que <tt class="literal">root</tt> et voyons
quelle information devient disponible depuis le processus 127 :
</p><a name="BId-proc-fs-pl2"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting">$ su
Password:
$ cd /proc/127
$ ls -l
total 0
-r--r--r--    1 root     root            0 Dec 14 19:53 cmdline
lrwx------    1 root     root            0 Dec 14 19:53 cwd -&gt; //
-r--------    1 root     root            0 Dec 14 19:53 environ
lrwx------    1 root     root            0 Dec 14 19:53 exe -&gt; /usr/sbin/apmd*
dr-x------    2 root     root            0 Dec 14 19:53 fd/
pr--r--r--    1 root     root            0 Dec 14 19:53 maps|
-rw-------    1 root     root            0 Dec 14 19:53 mem
lrwx------    1 root     root            0 Dec 14 19:53 root -&gt; //
-r--r--r--    1 root     root            0 Dec 14 19:53 stat
-r--r--r--    1 root     root            0 Dec 14 19:53 statm
-r--r--r--    1 root     root            0 Dec 14 19:53 status
$</pre></td></tr></table><p><a name="BId-proc-fs-pa5"></a>
Chaque répertoire contient les mêmes entrées. Voici une brève
description de quelques-unes de ces entrées :
</p><div class="orderedlist"><ol type="1"><li><p><a name="BId-proc-fs-pa6"></a>
               <tt class="filename">cmdline</tt> : ce (pseudo) fichier
contient l'intégralité de la ligne de commande utilisée pour invoquer
le processus. Elle n'est pas formatée : il n'y a aucun espace
entre le programme et ses arguments, ni de saut de ligne à la fin du
fichier. Pour le rendre lisible, vous pouvez utiliser :
<span><b class="command">perl -ple 's,\00, ,g' cmdline</b></span>.
</p></li><li><p><a name="BId-proc-fs-pa7"></a>
               <tt class="filename">cwd</tt> : ce lien symbolique pointe vers le répertoire de
travail en cours (<span class="foreignphrase"><i class="foreignphrase">Current Working
Directory</i></span>) du processus.
</p></li><li><p><a name="BId-proc-fs-pa8"></a>
               <a class="indexterm" name="BId-proc-fs-it2"></a>

               <tt class="filename">environ</tt> : ce fichier contient toutes les variables
d'environnement pour le processus, sous la forme
<tt class="option">VARIABLE=valeur</tt>. De même que pour <tt class="filename">cmdline</tt>, la
sortie n'est pas du tout formatée : pas de saut de ligne pour
séparer les différentes variables, ni de saut de ligne à la fin
non plus. Une solution pour le consulter : <span><b class="command">perl -ple
's,\00,\n,g' environ</b></span>.
</p></li><li><p><a name="BId-proc-fs-pa9"></a>
               <tt class="filename">exe</tt> : c'est un lien symbolique pointant sur le fichier
exécutable correspondant au processus en cours d'exécution.
</p></li><li><p><a name="BId-proc-fs-pa10"></a>
               <tt class="filename">fd</tt> : ce sous-répertoire contient la liste de tous les
descripteurs de fichiers actuellement ouverts par le processus. Voyez
ci-dessous.
</p></li><li><p><a name="BId-proc-fs-pa11"></a>
               <tt class="filename">maps</tt> : lorsque vous affichez le contenu de ce tube nommé
(avec <span><b class="command">cat</b></span> par exemple), vous voyez toutes les
parties de l'espace d'adressage du processus qui sont actuellement des
projections en mémoire de fichiers. Les champs, de gauche à droite,
sont : la plage d'adresses de la projection mémoire, les
permissions associées à cette projection, le décalage depuis le début
du fichier où commence la projection, les numéros majeur et mineur (en
hexadécimal) du périphérique sur lequel le fichier projeté se trouve,
le numéro d'inœud du fichier et enfin, le nom du fichier
lui-même. Lorsque le périphérique est 0 et qu'il n'y a ni numéro
d'inœud, ni nom de fichier, ce sont des projections
anonymes. Voyez
<span class="citerefentry"><span class="refentrytitle"><a name="BId-proc-fs-rt1"></a>mmap</span>(2)</span>.
</p></li><li><p><a name="BId-proc-fs-pa12"></a>
               <a class="indexterm" name="BId-proc-fs-it3"></a>

	  <tt class="filename">root</tt> : c'est un lien symbolique
	  qui pointe vers le répertoire racine utilisé par le
	  processus. Habituellement, ce sera <tt class="filename">/</tt>,
	  mais voyez<span class="citerefentry"><span class="refentrytitle"><a name="BId-proc-fs-rt2"></a>chroot</span>(2)</span>.</p></li><li><p><a name="BId-proc-fs-pa13"></a><tt class="filename">status</tt> : ce fichier
	  contient diverses informations sur le processus : le
	  nom de l'exécutable, son état actuel, son <span class="acronym">PID</span> et son
	  <span class="acronym">PPID</span>, ses <span class="acronym">UID</span> et <span class="acronym">GID</span> réels et effectifs, son
	  occupation mémoire, etc. Notez que les fichiers
	  <tt class="filename">stat</tt> et <tt class="filename">statm</tt> sont
	  désormais obsolètes. l'information qu'ils contenaient est
	  synthétisée dans <tt class="filename">status</tt></p></li></ol></div><p><a name="BId-proc-fs-pa14"></a>Si nous listons le contenu du
répertoire <tt class="filename">fd</tt> pour le processus 127, nous
obtenons ceci :</p><a name="BId-proc-fs-pl3"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting">$ ls -l fd
total 0
lrwx------    1 root     root           64 déc 16 22:04 0 -&gt; /dev/console
l-wx------    1 root     root           64 déc 16 22:04 1 -&gt; pipe:[128]
l-wx------    1 root     root           64 déc 16 22:04 2 -&gt; pipe:[129]
l-wx------    1 root     root           64 déc 16 22:04 21 -&gt; pipe:[130]
lrwx------    1 root     root           64 déc 16 22:04 3 -&gt; /dev/apm_bios
lr-x------    1 root     root           64 déc 16 22:04 7 -&gt; pipe:[130]
lrwx------    1 root     root           64 déc 16 22:04 9 -&gt; /dev/console
$
</pre></td></tr></table><p><a name="BId-proc-fs-pa15"></a>Ceci représente en fait la liste des descripteurs de fichiers ouverts
par le processus. Chaque descripteur ouvert est matérialisé par un
lien symbolique (dont le nom est le numéro du descripteur) : ce
lien pointe vers le fichier ouvert par le biais de ce
descripteur<sup>[<a name="id2557474" href="#ftn.id2557474">28</a>]</sup>. Vous pouvez également remarquer les permissions
des liens symboliques : c'est le seul endroit où elles ont un
sens pour les liens symboliques, puisqu'elles sont ici le reflet des
droits avec lesquels le fichier correspondant au descripteur a été
ouvert.
</p><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a name="ftn.id2557474" href="#id2557474">28</a>] </sup>Pour un rappel de ce que sont ces descripteurs
0, 1 et 2, voyez la section <a href="shell-pipes.html" title="Redirections et tubes">la section intitulée « Redirections et tubes »</a>.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="proc-fs.html">Précédent</a> </td><td width="20%" align="center"><a accesskey="u" href="proc-fs.html">Niveau supérieur</a></td><td width="40%" align="right"> <a accesskey="n" href="ch10s02.html">Suivant</a></td></tr><tr><td width="40%" align="left" valign="top">Chapitre 10. Le système de fichiers /proc </td><td width="20%" align="center"><a accesskey="h" href="index.html">Sommaire</a></td><td width="40%" align="right" valign="top"> Informations sur le matériel</td></tr></table></div></body></html>