Aller au contenu

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 ».

  1. 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 processus sleep grâce aux commandes vues dans cette page.

  2. Dans le terminal B, tapez la commande kill [PID][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.

  3. Dans le terminal A, relancez la commande sleep 600.

    1. 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ée nice sur Linux (colonne NI).

    2. 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.

  4. 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.

    1. Dans le terminal B, exécutez la commande renice -n 10 [PID][PID] est le PID trouvé à la question précédente.

    2. 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.