<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Linux User Group of Mauritius &#187; proc</title>
	<atom:link href="http://lugm.org/tag/proc/feed/" rel="self" type="application/rss+xml" />
	<link>http://lugm.org</link>
	<description>Promoting open source software in our beautiful island</description>
	<lastBuildDate>Sat, 17 Jul 2010 16:29:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>/proc le coffre aux trésors</title>
		<link>http://lugm.org/2009/06/25/proc-le-coffre-aux-tresors/</link>
		<comments>http://lugm.org/2009/06/25/proc-le-coffre-aux-tresors/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 13:40:24 +0000</pubDate>
		<dc:creator>Dominique Derrier</dc:creator>
				<category><![CDATA[Tip]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[proc]]></category>
		<category><![CDATA[systeme]]></category>

		<guid isPermaLink="false">http://lugm.org/?p=148</guid>
		<description><![CDATA[Autour du kernel, nous utilisons tous une foule de programmes pour récupérer les informations et utiliser notre système du mieux possible. Sous linux, toutes ces informations sont accessibles via /proc. Un peu de curiosité vous montrera les bijoux techniques qu&#8217;il est possible de récupérer.

Processus
/proc permet de connaitre tous les processus qui tournent sur la machine. [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://lugm.org/wp-content/uploads/2009/06/coffre_tresor.jpg" alt="coffre_tresor" title="coffre_tresor" width="64" height="57" class="alignleft size-full wp-image-186" />Autour du kernel, nous utilisons tous une foule de programmes pour récupérer les informations et utiliser notre système du mieux possible. Sous linux, toutes ces informations sont accessibles via /proc. Un peu de curiosité vous montrera les bijoux techniques qu&#8217;il est possible de récupérer.<br />
<span id="more-148"></span></p>
<h2>Processus</h2>
<p>/proc permet de connaitre tous les processus qui tournent sur la machine. Chaque chiffre correspond au PID de processus, à l&#8217;intérieur se trouvent toutes les informations concernant le programme.</p>
<ul>
<li><strong>exe</strong>: le nom de l&#8217;executable</li>
<li><strong>cmdline</strong>: les paramètres de lancement</li>
<li><strong>root</strong>: le chroot du programme</li>
<li><strong>environ</strong>: les variables d&#8217;environnement valables pour le programme.</li>
<li><strong>fd/</strong> la liste des fichiers ouverts.</li>
<li><strong>maps</strong>: les liens avec les bibliothèques</li>
<li><strong>status:</strong> informations Ram, User,&#8230;</li>
</ul>
<p>Si vous supprimez des fichiers en cours d&#8217;utilisation, il est possible de copier le fichier qui est dans /proc/$PID/fd/[numero].</p>
<p><code>cp /proc/1/exe  /tmp/init.recup</code></p>
<p>/!\ certains root-kit modifient la libproc et peuvent se masquer. Pour faire cela avec /proc il faut recompiler et rebooter le kernel: Ce qui est moins évident à faire.</p>
<h2>Informations Kernel</h2>
<p>Il n&#8217;y a pas que les processus mais tout ce qui se passe en &#8220;live&#8221; sur votre machine.</p>
<ul>
<li>la ram: <a href="file:///proc/meminfo">/proc/meminfo</a> (used,free, swap, commited&#8230;)</li>
<li>le cpu: <a href="file:///proc/cpuinfo">/proc/cpuinfo</a> (capacité de traitement, nombre,&#8230;)</li>
<li>le réseau: <a href="file:///proc/dev/net">/proc/dev/net </a></li>
<li>le kernel: <a href="file:///proc/kcore">/proc/kcore</a> (gdb /boot/vmlinuz /proc/kcore)</li>
<li>l&#8217;activité:  <a href="file:///proc/stat">/proc/stat</a></li>
<li>les disques: <a href="file:///proc/diskstats">/proc/diskstats</a></li>
</ul>
<p>La documentation se trouve dans les sources du kernel et si le coeur vous en dit vous pouvez aller faire un tour dans les fichiers.c pour créer ou adapter à vos besoins.</p>
<h2>Ecriture</h2>
<p>En écrivant dans certains fichiers, il est possible de régler les paramètres du kernel plus ou moins complexes&#8230; Pour ma part j&#8217;utilise davantage ceux qui concernent le réseau (nf_conntrack_max, ip_forward &#8230;). Mais il y a shmall (pour la mémoire partagée), les sémaphores, swappiness &#8230; group process &#8230;</p>
<p>Dominique DERRIER</p>
<h3>Ref</h3>
<p><a href="file:///usr/src/linux/Documentation/filesystems/proc.txt">file:///usr/src/linux/Documentation/filesystems/proc.txt</a><br />
<a href="file:///usr/src/linux/Documentation/cgroups/cgroups.txt">file:///usr/src/linux/Documentation/cgroups/cgroups.txt</a></p>
]]></content:encoded>
			<wfw:commentRss>http://lugm.org/2009/06/25/proc-le-coffre-aux-tresors/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
