Question 1Qu'affiche ps quand tu le lances ?
Vérifier et arrêter les processus — ps / kill
Apprends à lister les processus en cours avec ps, à connaître ton propre PID avec $$, et à arrêter avec kill un processus envoyé en arrière-plan avec & — tout en pratique dans un terminal en navigateur.
Voir les processus en cours — ps
Un processus, c'est chaque programme en cours d'exécution.
ps est la commande qui liste les processus tournant en ce moment.
Chaque processus reçoit un numéro unique appelé PID (process ID), qui sert de repère pour l'arrêter plus tard.
Quand la liste est longue, dirige-la vers grep, comme ps | grep sleep, pour filtrer les processus par nom.
PID unique. ps liste ces processus en cours.| Commande | Signification |
|---|---|
ps | Lister les processus en cours avec leur PID |
ps | grep name | Filtrer les processus par nom |
echo $$ | Afficher le PID du shell actuel lui-même |
cmd & | Lancer une commande en arrière-plan |
Tu peux extraire le PID du shell lui-même avec la variable spéciale $$.
$$ est une variable spéciale que le shell remplit avec son propre PID.
Lancer echo $$ affiche le numéro du shell dans lequel tu tapes, et tu retrouveras ce même numéro dans la liste ps.
ps liste les PID des processus en cours ; echo $$ affiche le PID du shell actuel.ps # liste des processus en cours (avec leur PID)
echo $$ # le PID propre de ce shell
ps -ef # une liste plus détaillée (le format varie selon l'environnement)
Exécution en arrière-plan et arrêt — & et kill
Ajouter & à la fin d'une commande la lance en arrière-plan, te laissant passer à l'opération suivante sans attendre qu'elle se termine.
sleep 30 & lance en arrière-plan un processus qui se contente d'attendre, sans rien faire pendant 30 secondes, ce qui en fait un bon exemple pour s'entraîner à arrêter un processus.
Pour arrêter un processus en arrière-plan, passe son PID à kill.
Le shell affiche le PID juste après que tu l'as démarré avec &, et tu peux aussi le vérifier dans la liste ps.
Passer le PID à kill envoie un signal de terminaison à ce processus.
Pour un processus qui ne s'arrête pas avec un kill PID normal, envoie un signal d'arrêt forcé avec kill -9 PID.
| Commande | Signal envoyé | Usage |
|---|---|---|
kill PID | SIGTERM (demande d'arrêt) | Arrêt normal ; laisse le processus se nettoyer |
kill -9 PID | SIGKILL (arrêt forcé) | Forcer l'arrêt d'un processus qui ne s'arrête pas |
&, trouve le PID avec ps, et termine ce processus avec kill.Donne le bon PID à kill
kill envoie un signal de terminaison au processus dont tu passes le PID.
Se tromper de numéro arrêterait un autre processus, donc vérifie le PID cible dans la liste ps avant de le lancer.
À propos de kill dans cet environnement
Dans cet environnement en navigateur, passer un PID à kill peut ne pas arrêter le processus comme sur un vrai système, et tu peux voir No such process.
Dans ce cours, tu apprends la forme des commandes kill PID / kill -9 PID.
Sur un vrai serveur, le flux qui consiste à vérifier le PID avec ps et à l'arrêter avec kill fonctionne exactement comme montré.
sleep 60 & # lance en arrière-plan un processus qui attend 60 secondes
ps # trouve le PID de sleep dans la liste
kill 123 # passe le PID trouvé (ex. 123) pour le terminer
Vérification des connaissances
Répondez à chaque question une par une.
Question 2Qu'affiche echo $$ ?
Question 3Que se passe-t-il quand tu ajoutes & à la fin d'une commande ?