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.
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.
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.
Les ID de session sont essentiellement utilisés pour déterminer ce qui se passe lors du plantage d'un terminal.
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).
Un tty en cours d'utilisation appartient à un certain processus. Ceci est le PGID de ce processus.
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.
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.
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.
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.
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.
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.
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".
C'est la taille du texte (comprendre ici le code exécutable) du processus qui se trouve actuellement en RAM.
C'est la taille des données (i.e. ce qui n'est pas code exécutable) du processus actuellement en RAM.
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.
C'est tout simplement la différence entre SIZE et RSS, en d'autres termes l'espace disque occupé par le processus.
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.
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.
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.
Le processus est à tout moment dans un des états suivants :
R (running, en cours) : le processus est en train de tourner sur un CPU ou est prêt à tourner.
S (en sommeil) : le processus attend qu'un évènement se produise (entrée/sortie, chronomètre...).
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).
T (arrêté) : le processus est arrêté, ou est suivi par un autre processus.
Z (zombie) : le processus est terminé, mais son processus père n'a pas encore porté le deuil.
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).
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.
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_ ou sys_ est supprimé du nom pour le raccourcir).
C'est l'ID du (vrai) utilisateur propriétaire du processus.
C'est le pourcentage du temps CPU que le processus utilise, moyenné sur les dernières 30 secondes (moyenne décroissant exponentiellement).
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.
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.
C'est l'heure à laquelle le processus a été démarré.
C'est la quantité de temps CPU utilisée par le processus depuis sa création.
C'est la commande (nom de fichier) qui démarré le processus. Les noms longs sont tronqués.
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).