TP - États d'un processus☘
Ce TP a pour but de découvrir comment interagir avec les processus sur Linux et d'expérimenter sur la priorité des processus.
Dans ce TP, vous allez avoir besoin de deux terminaux connectés à la même machine Linux. Pour distinguer ces deux terminaux dans la suite, on utilisera les expressions « terminal A » et « terminal B ».
-
Dans le terminal A, lancez la commande
sleep 600
, qui ne fait qu'attendre pendant 600 secondes.
Utilisez le terminal B pour trouver le PID du processussleep
grâce aux commandes vues dans cette page. -
Dans le terminal B, tapez la commande
kill [PID]
où[PID]
est la valeur trouvée à la question précédente.
Que s'est-il passé dans le terminal A ?Réponse
Le processus
sleep
a été interrompu. -
Dans le terminal A, relancez la commande
sleep 600
.-
Dans le terminal B, exécutez la commande
ps -xo "pid ni cmd"
qui permet d'afficher les processus de l'utilisateur avec la priorité, appeléenice
sur Linux (colonneNI
). -
Quel est le PID et quelle est la priorité du processus
sleep
?Réponse
Le processus
sleep
a pour priorité 0. Le PID sera différent à chaque fois.
-
-
Il est possible de modifier la priorité d'un processus avec la commande
renice
. Les priorités Linux vont de -20 à +19 (plus la valeur est basse, plus la priorité plus importante) mais un utilisateur normal ne peut la modifier que de 0 à 19.-
Dans le terminal B, exécutez la commande
renice -n 10 [PID]
où[PID]
est le PID trouvé à la question précédente. -
Relancez la commande
ps -xo "pid ni cmd"
. Qu'observez-vous ?Réponse
La priorité du processus a bien été modifiée, la valeur passant de 0 à 10.
-