Lorsque le système a interprété une commande, un processus indépendant associé à un identificateur de processus (PID) unique, est créé pour l'exécution de cette commande. Le PID permet au système de suivre l'état en cours de chaque processus.
La commande ps permet d'afficher une liste des processus en cours. Outre l'identificateur de processus (répertorié sous PID) pour chaque processus que vous possédez (que vous avez créé en entrant une commande), la commande ps indique également le terminal à partir duquel ce processus a été lancé (TTY), le temps cpu que ce dernier a utilisé jusqu'à présent (TIME) et la commande qu'il exécute (COMMAND).
Si vous précisez l'option -l, la commande ps affiche d'autres informations sur les processus en cours, telles que le statut de chaque processus (répertorié sous S). Les codes utilisés pour l'affichage de ces informations sont les suivants :
O - Le processus est en cours sur un processeur.
S - Sommeil : le processus est en attente de fin d'exécution d'un événement.
R - Exécutable : le processus est dans la file d'attente d'exécution.
Z - Zombie : le processus est terminé et le père n'est pas en attente.
T - Analyse : le processus a été arrêté par un signal car il est en cours d'analyse par le père.
X - SXBRK : le processus attend davantage de mémoire principale.
Des modifications peuvent se produire au cours de l'exécution de la commande ps. Cette commande ne fournissant qu'un cliché de l'état en cours, les informations ne sont valables qu'un court instant après son lancement. Il se peut qu'elles soient devenues radicalement différentes au moment où vous en prenez connaissance.
La commande ps(1) offre d'autres options que celles énumérées ci-dessus. Pour les connaître, consultez les man Pages(1): User Commands.
La commande kill permet d'interrompre immédiatement les processus de commande dont vous souhaitez vous débarrasser. Elle est particulièrement utile lorsque vous avez lancé par erreur une commande dont l'exécution prend du temps.
Pour interrompre un processus, procédez de la façon suivante :
Tapez ps pour obtenir la liste des PID du ou des processus.
Tapez kill, suivi du ou des PID.
Cette procédure est illustrée dans l'exemple suivant :
$ ps PID TTY TIME COMMAND 1291 co 0:12 -bin/csh (csh) 3250 p0 0:00 ps 1286 p1 0:05 -bin/csh (csh) 3248 p1 0:05 vi commands $ kill 1291 [1} Terminated -bin/csh/ (csh) $ |
Pour connaître encore plus rapidement le PID, limitez le résultat de la commande ps en exécutant la commande grep de la manière suivante :
$ ps | grep nom_commande |
où nom_commande désigne le nom du processus de commande que vous souhaitez interrompre.
Si vous devez absolument interrompre un processus, vous pouvez préciser l'option -9 dans la commande ps, comme illustré ci-dessous :
$ kill -9 n. PID |
où n.PID désigne l'identificateur du processus que vous souhaitez interrompre.