<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook V3.1-Based Variant V1.0//EN" [
 <!ENTITY kpm "<application>kpm</application>">
 <!ENTITY % addindex "IGNORE">
 <![ %addindex; [ <!ENTITY docindex SYSTEM "docindex.docbook"> ]]>
]>
<book lang="fr">
<bookinfo>
<title>Le manuel de kpm</title>
<authorgroup>
<author>
<firstname>Mario</firstname>
<surname>Weilguni</surname>
<affiliation><address><email><ulink url="mailto:mweilguni@kde.org">mweilguni@kde.org</ulink></email></address></affiliation>
</author>
</authorgroup>
<date>Version 1.3k1, 02 février 1998</date>
<releaseinfo><!-- information about this particular version --></releaseinfo>
<abstract>
<para>Ce manuel décrit kpm 1.31k1, un utilitaire d'information et de gestion
 de processus.</para>
<para>Utilitaire d'information et de gestion de processus</para><!-- Merge this with the previous paragraph; it comes from <META NAME="description" CONTENT="..."> --></abstract>
<keywordset>
<keyword>Processus</keyword>
<keyword>mémoire vive</keyword>
<keyword>ressources système</keyword>
</keywordset>
</bookinfo>

<chapter id="informations-gnrales">
<title>Informations générales</title>

<sect1 id="quest-ce-que-kpm-">
<title>Qu'est-ce que kpm ?</title>

<para>kpm vous permet de visualiser et d'intervernir sur les processus tournant sur
votre système Linux. Il affiche des informations détaillées sur les processus
en cours, ainsi que l'état des ressources système comme la mémoire vive, la
partition d'échange, la charge du CPU, etc. Vous pouvez tuer des processus,
ou modifier leur degré de priorité. Si vous êtes connecté en tant que
super-utilisateur (root), vous avez en outre la possibilité de modifier
la politique d'ordonnancement.</para>
</sect1>

<sect1 id="informations-lgales">
<title>Informations légales</title>

<para>kpm est fortement inspiré de <literal remap="tt">qps</literal> par
<ulink url="mailto:f91-men@nada.kth.se">Mattias Engdegård</ulink>.
La principale différence entre kpm et qps est l'interface (KDE). kpm est
fidèle à la plupart des standard KDE, utilise les fichiers de configuration
KDE et dispose de la gestion de session. Certaines fonctionnalités de
qps ont été supprimées (par exemple la possibilité d'afficher des
tables ou des widgets dans le style MacOS 7).</para>

<para>qps (et donc kpm) sont distribués sous les termes de la Licence Publique
Générale GNU (GPL).</para>
</sect1>

<sect1 id="configuration-ncessaire-pour-kpm">
<title>Configuration nécessaire pour kpm</title>

<para><itemizedlist>
<listitem>
<para>Un système Linux 2.0. kpm utilise intensivement le système
de fichiers <literal remap="tt">/proc</literal> de Linux. Malheureusement, cela n'est pas
portable à d'autres systèmes d'exploitation, car chaque UNIX semble
avoir sa propre façon d'organiser les informations sur les processus.</para>
</listitem>
<listitem>
<para>K Desktop Environment (KDE) version Beta2 ou supérieure.</para>
</listitem>
<listitem>
<para>Qt 1.31. Comme KDE est basé sur Qt, cela n'est pas un problème.</para>
</listitem>
<listitem>
<para>Votre noyau (kernel) Linux doit avoir été compilé avec le support
du système de fichiers <literal remap="tt">/proc</literal>. Comme beaucoup de programmes comme
top ne marcheront pas sans cela, c'est le cas de presque tous les noyaux.</para>
</listitem>
</itemizedlist>
</para>
</sect1>
</chapter>

<chapter id="le-menu">
<title>Le menu</title>

<sect1 id="le-menu-fentre">
<title>Le menu Fenêtre</title>

<para><variablelist>
<varlistentry>
<term>Icônifier</term>
<listitem>
<para>Icônifie la fenêtre principale. Lorsqu'elle est icônifiée, kpm utilise
beaucoup moins de temps CPU car il n'a pas besoin de mettre à jour la liste
des processus. Si vous utilisez kwm comme gestionnaire de fenêtres et que
l'option "Placer sur le tableau de bord" est activée, vous verrez alors
une petite icône sur le tableau de bord affichant la charge moyenne du
système. Avec d'autres gestionnaires de fenêtres comme fvwm, l'icône de
kpm elle-même montrera cette charge (mais cela peut dépendre de la façon
dont le gestionnaire de fenêtres est configuré).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Quitter</term>
<listitem>
<para>Quitte kpm (fermer la fenêtre principale a le même effet).</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="menu-processus">
<title>Menu Processus</title>

<para><variablelist>
<varlistentry>
<term>Courtoisie (nice)</term>
<listitem>
<para>Vous permet de mofidier le degré de priorité
du (ou des) processus sélectionné(s). Sous Linux, un processus a une
priorité, ou courtoisie, pouvant aller de -20 (la plus forte priorité)
à +20 (la plus basse priorité), ainsi, <emphasis remap="it">augmenter</emphasis> le niveau
de courtoisie donne au processus <emphasis remap="it">moins</emphasis> de temps CPU.
Vous n'avez pas le droit de d'augmenter la priorité d'un programme
(diminuer sa courtoisie) à moins d'être connecté en tant que
super-utilisateur (root). Cela signifie que, en tant qu'utilisateur
normal, vous ne pouvez abaisser la courtoisie d'un processus même
si vous l'avez augmentée auparavant.</para>
<para>Evidemment vous ne pouvez modifier la courtoisie que de vos propres
processus. Le super-utilisateur (root) peut modifier la courtoisie
de tout processus, et abaisser sa priorité.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Ordonnancement</term>
<listitem>
<para>Cette option n'est accessible qu'au root.
La boîte de dialogue "Modifier l'ordonnancement" permet au
super-utilisateur de changer la politique d'ordonnancement
des processus sélectionnés (en utilisant les extensions temps
réel Posix.1b présentes dans les noyaux Linux 2.0.x). Les
processus normaux sont classés SCHED&lowbar;OTHER et ont une priorité
statique 0 ; les processus temps réel suivent la politique
SCHED&lowbar;FIFO ou SCHED&lowbar;RR et ont une priorité statique entre 1
et 99.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Info socket</term>
<listitem>
<para>Affiche une liste des sockets TCP et UDP utilisés par les processus
sélectionnés.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="menu-signal">
<title>Menu Signal</title>

<para>Le menu Signal vous permet d'envoyer divers signaux aux processus
sélectionnés. Attention en utilisant cette fonctionnalité, surtout si
plusieurs processus sont sélectionnés. Les signaux standard de Linux
sont expliqués <link linkend="signaux-unix">ici</link>.</para>
</sect1>

<sect1 id="menu-affichage">
<title>Menu Affichage</title>

<para><variablelist>
<varlistentry>
<term>Rafraîchir la liste des processus</term>
<listitem>
<para>Met à jour la liste des processus immédiatement. C'est très utile si vous
avez choisi des intervalles longs entre les mises à jour. Vous obtiendrez
le même résultat en cliquant sur le bouton de Rafraîchissement dans la
barre d'outils ou en appuyant sur la barre espace.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Tous les processus</term>
<listitem>
<para>Affiche tous les processus.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Processus personnels</term>
<listitem>
<para>Affiche vos propres processus, y compris ceux tournant ayant été rattachés
à un autre utilisateur (i.e. les programmes SETUID root que vous avez
lancés).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Processus non root</term>
<listitem>
<para>Affiche tous les processus sauf ceux démarrés par le super-utilisateur.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Processus en cours d'exécution</term>
<listitem>
<para>N'affiche que les processus en cours (en fonctionnement ou dans la queue
d'exécution).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Champs utilisateur</term>
<listitem>
<para>La liste des processus montrera les champs les plus intéressants, i.e. ceux
typiquement montrés par "top".</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Champs processus</term>
<listitem>
<para>Affiche  les champs les plus utiles pour la gestion des tâches.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Champs mémoire</term>
<listitem>
<para>Affiche les informations sur l'utilisation de la mémoire, les fautes
de page, etc.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>
</chapter>

<chapter id="la-fentre-principale-de-kpm">
<title>La fenêtre principale de kpm</title>

<sect1 id="explication-des-champs">
<title>Explication des champs</title>

<para><variablelist>
<varlistentry>
<term>PID - ID du processus</term>
<listitem>
<para>Chaque processus a un numéro (ID) unique, valant 1 ou plus.
Quand un processus est créé, il reçoit le premier PID non encore alloué.
Les PID sont (à l'heure actuelle) des entiers signés sur 16 bits, et
vont donc jusqu'à 32767. Ceci est tout à fait normal et ne doit pas faire
donner lieu à des inquiétudes.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>PPID - ID du processus père</term>
<listitem>
<para>Chaque processus a un processus père. L'exception est le processus 1
(init), qui est à la base de la hiérarchie des processus et n'a pas
de père.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>PGID - ID du groupe de processus</term>
<listitem>
<para>Chaque processus est membre d'un groupe de processus. Les groupes de
processus sont pratiques pour la distribution des signaux, et pour les
terminaux pour gérer les requêtes de leurs entrées : les processus
appartenant au même groupe de processus que le terminal sont au premier
plan et peuvent lire, alors que les autres bloqueront avec un signal
s'ils essaient de lire.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>SID - ID de session</term>
<listitem>
<para>Les ID de session sont essentiellement utilisés pour déterminer ce qui
se passe lors du plantage d'un terminal.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>TTY - tty de contrôle</term>
<listitem>
<para>Le terminal de contrôle (tty) est en général le périphérique (port série,
pty, etc) depuis lequel le processus a été lancé, et qu'il utilise pour
ses entrées / sorties. Certains processus n'ont pas de terminal de
contrôle. kpm parcourt le répertoire /dev pour déterminer le nom du
terminal, mais cela peut échouer. Pour économiser de l'espace, seuls
les deux derniers caractères du nom du tty sont affichés (ainsi,
/dev/ttyp6 est affiché p6).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>TPGID - ID du groupe de processus du propriétaire
du tty</term>
<listitem>
<para>Un tty en cours d'utilisation appartient à un certain processus. Ceci est le
PGID de ce processus.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>USER - Propriétaire du processus</term>
<listitem>
<para>C'est le nom du (vrai) utilisateur auquel appartient le processus. Si
l'ID de l'utilisateur effectif est différent de l'ID du véritable utilisateur,
cela est indiqué par "*" ou "+". L'astérisque signifie que l'utilisateur
effectif est le super-utilisateur (root), indiquant dans la plupart des cas
un exécutable SETUID root.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>NICE - Priorité</term>
<listitem>
<para>La valeur de courtoisie (nice) indique la fréquence avec laquelle un
processus est autorisé à tourner, et la longueur de ses intervalles
de fonctionnement. La valeur va de -20 à 20, 0 par défaut. En-dessous
de 0, le processus se voit allouer plus de temps CPU. Seul le
super-utilisateur (root) a le droit de diminuer la courtoisie.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>PRI - Longueur du prochain intervalle de fonctionnement</term>
<listitem>
<para>C'est la longueur maximale du prochain intervalle de fonctionnement du
processus (ou de ce qui reste de l'intervalle en cours, si le processus
est en train de tourner). Cette longueur est ramenée dans l'échelle -20 à
20, les petits nombres indiquant une longueur plus importante.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>PLCY - Politique d'ordonnancement</term>
<listitem>
<para>FIFO (F) et Round-Robin (R) sont des politiques d'ordonnancement temps
réel ; OTHER (0) est la politique de temps partagé normale sous Unix.
Des processus F et R ont une priorité temps réel entre 1 et 99. Un
processus tournera tant qu'il n'existe pas d'autres processus en
cours avec une priorité supérieure. Des processus R tourneront pendant
un intervalle de fonctionnement, après quoi ils sont envoyés en bas de la
queue correspondant à leur priorité. Les processus F tourneront jusqu'à
ce qu'ils abandonnent leur temps CPU (en se mettant en sommeil ou en se
bloquant) ou jusqu'à ce qu'ils soient doublés par un processus de plus
haute priorité. Seul le super-utilisateur (root) peut modifier la politique
d'ordonnancement.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RPRI - Priorité temps réel</term>
<listitem>
<para>Les processus temps réel (FIFO et Round-Robin) ont une priorité entre 1
et 99. Un processus prévaudra sur tout autre qui a une priorité inférieure.
Les processus partageant normalement le temps CPU (politique d'ordonnancement
0) ont tous une priorité 0. Seul le super-utilisateur (root) peut modifier
les priorités temps réel.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>MAJFLT - Nombre d'erreurs majeures</term>
<listitem>
<para>Une erreur de page a lieu lorsqu'un processus essaie de lire ou d'écrire
depuis une page mémoire qui n'est pas présente en RAM.
C'est une erreur de page majeure lorsque cela concerne des accès disque,
comme mettre ou enlever des pages mémoire de la partition d'échange.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>MINFLT - Nombre d'erreurs mineures</term>
<listitem>
<para>Une erreur de page a lieu lorsqu'un processus essaie de lire ou d'écrire
depuis une page mémoire qui n'est pas présente en RAM, ou d'écrire vers
une page qui n'est pas accessible en écriture.
C'est une erreur de page mineure lorsqu'aucun accès disque n'est mis en jeu,
par exemple, écrire vers une page partagée "copy-on-write".</para>
</listitem>
</varlistentry>
<varlistentry>
<term>TRS - Taille du texte résident (Ko)</term>
<listitem>
<para>C'est la taille du texte (comprendre ici le code exécutable) du processus
qui se trouve actuellement en RAM.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>DRS - Taille des données résidentes (Ko)</term>
<listitem>
<para>C'est la taille des données (i.e. ce qui n'est pas code exécutable) du
processus actuellement en RAM.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>SIZE - Taille de l'image virtuelle du processus (Ko)</term>
<listitem>
<para>C'est la taille totale de l'image du processus. Cela inclut tout le code,
les données et les bibliothèques partagées du processus, y compris les
pages qui ont été mises dans la partition d'échange.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>SWAP - Ko dans la partition d'échange</term>
<listitem>
<para>C'est tout simplement la différence entre SIZE et RSS, en d'autres
termes l'espace disque occupé par le processus.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RSS - Taille résidente (Ko)</term>
<listitem>
<para>C'est la taille de la partie du processus (code et données) qui se
trouve vraiment en RAM, en comptant les bibliothèques partagées.
Cela donne une bonne approximation de la quantité de RAM utilisée par
le processus.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>SHARE - Mémoire partagée (Ko)</term>
<listitem>
<para>C'est la quantité de mémoire que le processus partage avec d'autres
processus. Cela ne signifie pas que tout ou partie de cette mémoire partagée
est utilisée par un autre processus, seulement que c'est possible.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>DT - Nombre de pages sales</term>
<listitem>
<para>C'est le nombre (et pas le nombre d'octets) de pages en RAM qui ont été
modifiées depuis leur dernière recopie sur disque. Ces pages seules doivent
être écrites sur disque avant de pouvoir être libérées pour d'autres usages.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>STAT - Etat du processus</term>
<listitem>
<para>Le processus est à tout moment dans un des états suivants :
<itemizedlist>
<listitem>
<para>R (running, en cours) : le processus est en train de tourner sur un CPU ou est
prêt à tourner.</para>
</listitem>
<listitem>
<para>S (en sommeil) : le processus attend qu'un évènement se
produise (entrée/sortie, chronomètre...).</para>
</listitem>
<listitem>
<para>D (sommeil ininterruptible) : le processus attend
qu'un évènement se produise et ne peut être interrompu d'ici là (en général
il attend un pilote de périphérique).</para>
</listitem>
<listitem>
<para>T (arrêté) : le processus est arrêté, ou est suivi par un autre processus.</para>
</listitem>
<listitem>
<para>Z (zombie) : le processus est terminé, mais son processus père n'a
pas encore porté le deuil.</para>
</listitem>
<listitem>
<para> Si le processus est complètement dans la partition d'échange (pas de
page résidente), un 'W' figure dans le champ (cela est aussi vrai pour les
processus noyau, comme kswapd).</para>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>FLAGS - Drapeaux du processus (hex)</term>
<listitem>
<para>Ceci comporte des informations supplémentaires sur l'état du processus.
Voir la documentation dans le code source du noyau Linux pour plus de
détails.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>WCHAN - Fonction où le processus s'est mis en sommeil</term>
<listitem>
<para>Si le processus est en attente de quelque chose, c'est la fonction noyau sur
laquelle il s'est arrêté (le préfixe do&lowbar; ou sys&lowbar; est supprimé du nom pour le
raccourcir).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>UID - ID utilisateur numérique</term>
<listitem>
<para>C'est l'ID du (vrai) utilisateur propriétaire du processus.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>&percnt;WCPU - Pourcentage du temps CPU pondéré</term>
<listitem>
<para>C'est le pourcentage du temps CPU que le processus utilise, moyenné sur
les dernières 30 secondes (moyenne décroissant exponentiellement).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>&percnt;CPU - Pourcentage du temps CPU depuis dernier rafraîchissement</term>
<listitem>
<para>C'est la quantité de temps CPU que le processus a utilisé depuis la dernière
mise à jour de la table de processus de kpm.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>&percnt;MEM - Pourcentage de la mémoire utilisée</term>
<listitem>
<para>C'est le pourcentage de la RAM totale utilisée par le processus (comme
taille résidente). Les bibliothèques partagées sont comptées, donc cette
valeur est surestimée.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>START - Heure de démarrage du processus</term>
<listitem>
<para>C'est l'heure à laquelle le processus a été démarré.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>TIME - Temps CPU total utilisé</term>
<listitem>
<para>C'est la quantité de temps CPU utilisée par le processus depuis sa création.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>COMM - Commande qui a démarré le processus</term>
<listitem>
<para>C'est la commande (nom de fichier) qui démarré le processus. Les noms
longs sont tronqués.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>CMDLINE - Ligne de commande qui a démarré le processus</term>
<listitem>
<para>C'est la ligne de commande, arguments compris, qui a démarré le processus.
Si l'option "Afficher le chemin des commandes" est décochée dans le menu
Options, alors le chemin complet de la commande est enlevé. Les processus
mis dans la partition d'échange peuvent n'afficher que le nom de la commande
entre parenthèses (c'est le cas des processus noyau).</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>
</chapter>

<chapter id="appendice">
<title>Appendice</title>

<sect1 id="signaux-unix">
<title>Signaux Unix</title>

<para>Voici les signaux tels qu'ils sont expliqués dans la page de manuel
<emphasis remap="it">signal(7)</emphasis>. Pour plus de détail, consulter cette page de manuel par :</para>

<para><literal remap="tt">man 7 signal</literal></para>

<para>Les signaux suivants sont définis par la norme Posix et peuvent être envoyés
par kpm :
<itemizedlist>
<listitem>
<para><emphasis remap="bf">SIGHUP:</emphasis> Suspension détectée sur le terminal de contrôle ou
mort du processus de contrôle.</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGINT:</emphasis> Interruption par le clavier</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGQUIT:</emphasis> Sortie par le clavier</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGILL:</emphasis> Instruction illégale</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGABRT:</emphasis> Signal abandon par abort(3)</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGFPE:</emphasis> Exception de virgule flottante</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGKILL:</emphasis> Signal KILL (tuer)</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGSEG:</emphasis> Référence mémoire invalide</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGPIPE:</emphasis> Tube brisé : write to pipe with no readers</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGALRM:</emphasis> Alarme du chronomètre par alarm(1)</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGTERM:</emphasis> Signal TERM (terminaison, fin)</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGUSR1:</emphasis> Signal défini par l'utilisateur 1</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGUSR2:</emphasis> Signal défini par l'utilisateur 2</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGCHLD:</emphasis> Enfant terminé ou arrêté</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGCONT:</emphasis> Continue if stopped</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGSTOP:</emphasis> Arrêt du processus</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGTSTP:</emphasis> Arrêt tapé sur le tty</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGTTIN:</emphasis> Entrée tty pour le processus en tâche de fond</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGTTOU:</emphasis> Sortie tty pour le processus en tâche de fond</para>
</listitem>
</itemizedlist>

Les signaux suivants ne sont pas définis par la norme Posix, et ne sont pas
(encore) disponibles dans kpm :
<itemizedlist>
<listitem>
<para><emphasis remap="bf">SIGTRAP:</emphasis> Trace/breakpoint trap</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGIOT:</emphasis> IOT trap. A synonym for SIGABRT</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGBUS:</emphasis> Bus error</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGSYS:</emphasis> Bad argument to routine (SVID)</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGSTKFLT:</emphasis> Stack fault on coprocessor</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGURG:</emphasis> Urgent condition on socket (4.2 BSD)</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGIO:</emphasis> I/O now possible (4.2 BSD)</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGPOLL:</emphasis> synonym for SIGIO (System V)</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGCLD:</emphasis> synonym for SIGCHLD</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGXCPU:</emphasis> CPU time limit exceeded (4.2 BSD)</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGXFSZ:</emphasis> File size limit exceeded (4.2 BSD)</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGVTALRM:</emphasis> Virtual alarm clock (4.2 BSD)</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGPROF:</emphasis> Profile alarm clock</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGPWR:</emphasis> Power failure (System V)</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGINFO:</emphasis> A synonym for SIGPWR </para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGLOST:</emphasis> File lock lost</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGWINCH:</emphasis> Window resize signal (4.3 BSD, Sun)</para>
</listitem>
<listitem>
<para><emphasis remap="bf">SIGUNUSED:</emphasis> Unused signal</para>
</listitem>
</itemizedlist>
</para>
</sect1>

<sect1 id="problmes-et-bugs-connus">
<title>Problèmes et bugs connus</title>

<para><itemizedlist>
<listitem>
<para>Parfois, kpm meurt avec une erreur de segmentation si plus d'un processus
est sélectionné et que la liste est mise à jour. Je ne sais pas pourquoi...</para>
</listitem>
<listitem>
<para>La barre d'état et la liste des processus elle-même sont optimisées
pour une police de 12pt. Elle conservera une apparence correcte jusqu'à
14pt, mais sera vraiment hideuse avec des polices plus importantes.</para>
</listitem>
<listitem>
<para>kpm peut consommer beaucoup de ressources CPU si l'intervalle entre
deux rafraîchissements est trop court. Sur mon système (AMD K6PR200), il
consomme à peu près 5 pourcents du temps CPU avec un intervalle d'une
seconde. Cela dépend considérablement du nombre total de processus (tous les
processus, pas seulement ceux affichés) et peut être beaucoup élevé que cela.</para>
</listitem>
<listitem>
<para>Le pourcentage de temps CPU n'est pas très précis pour des intervalles
de rafraîchissements courts, à cause de problèmes de discrétisation.</para>
</listitem>
<listitem>
<para>Le champ WCHAN n'est pas valide si un processus est en sommeil dans
un endroit ne figurant pas dans <literal remap="tt">System.map</literal> (par exemple dans un
module du noyau). Dans ce cas, la dernière entrée de <literal remap="tt">System.map</literal> sera
affichée (du genre <literal remap="tt">&lowbar;end</literal>).</para>
</listitem>
<listitem>
<para>kpm ne peut pas gérer plus d'un processus avec un PID donné. Ce cas
rare peut arriver lorsque CLONE&lowbar;PID est utilisé avec l'appel système clone().</para>
</listitem>
</itemizedlist>
</para>
</sect1>
</chapter>
<![ %addindex; [ &docindex; ]]>
</book>
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
sgml-general-insert-case: lower
End:
-->
