TP : Processus et système d’exploitation linux#

GNU/Linux est un système d’exploitation créé par Richard Stallman et Linus Thorvald dans les années 1990. Comme windows, il s’installe sur les ordinateurs de type PC et propose les mêmes services et applications.

Ce système d’exploitation peut être utilisé sans aucune interface graphique ce qui en fait sa force. L’utilisation de GNU/Linux se fait alors en ligne de commandes.

Note

Ce TP se réalise sur une machine virtuelle avec le système d’exploitation Ubuntu. Les identifiants de connexion de cette machine virtuelle sont:

  • identifiant : nsi

  • mot de passe : Nsi2024!

Le terminal linux#

Le terminal ou console est une application qui permet de saisir ces lignes de commandes.

  1. Quelles sont les commandes linux qui permettent:

    • de lister le contenu d’un dossier :

    • de changer de dossier :

    • de créer un nouveau dossier :

    • de déplacer un fichier dans un autre dossier :

  2. Ouvrir une nouvelle fenêtre de « Terminal ». Dans quel dossier de l’arborescence êtes-vous ?

  3. Déplacez-vous dans le dossier Documents puis créer un dossier python.

  4. Télécharger le fichier pgm.py disponible sur l’ENT. Ce fichier est dans le cours sur les processus sur Moodle.

  5. Déplacer, en ligne de commandes, ce fichier vers le dossier python.

  6. Exécuter ce programme en saisissant la commande :

    nsi$: ./pgm.py
    

    Le code s’est-il exécuté correctement ?

  7. Si un problème de permissions a empêché l’exécution du code, il faut les modifier sur le fichier pgm.py

    1. Afficher les permissions de votre fichier pgm.py.

    2. Si vous remarquez l’absence de la permission x pour l’utilisateur propriétaire u, il faut l’ajouter avec la commande:

    nsi$: chmod u+x pgm.py
    

Les processus sous linux#

La commande ps affiche les processus utilisateur liés à la console.

Avec certaines options, la commande renvoie des informations plus ciblées. Par exemple:

  • l’option -f affiche plus d’informations sur les processus liés au terminal (console).

  • l’option -u suivi du nom utilisateur affiche les processus de l’utilisateur.

  • l’option -e affiche tous les processus de tous les utilisateurs.

  • l’option -o suivi d’arguments affiche les informations pour chaque processus et pour chaque argument passé en paramètres.

  1. Afficher les processus utilisateur avec la commande ps puis avec la commande ps -f.

  2. Afficher les processus utilisateur avec la commande ps -u suivi du nom utilisateur.

  3. Reprendre la commande précédente en y ajoutant l’option -f pour avoir plus d’informations.

  4. Afficher les processus utilisateur avec les arguments pid, ppid et command.

La gestion des processus#

  1. Exécuter votre programme pgm.py et afficher les processus de l’utilisateur. Le programme python figure-t-il dans la liste des processus ? Pourquoi ?

  2. On peut lancer un programme en arrière-plan en ajoutant & à la fin de la commande.

    1. Exécuter votre programme pgm.py en arrière-plan.

    2. Le processus lié au programme est il affiché ? Les PID et PPID correspondent-ils ?

  3. Lancer un navigateur et observer dans les processus sa présence.

    1. Combien de processus enfants ont été créés ?

    2. Quel est le PID et PPID du processus parent du navigateur ?

  4. Il est possible de terminer (tuer) un processus avec la commande kill suivi du numéro de processus.

    Mettre fin en ligne de commande au processus associé à votre navigateur web.

    1. Modifier votre programme pgm.py en remplaçant l’instruction sleep par une boucle infinie:

      while True:
         pass
      
    2. Exécuter votre programme pgm.py. Quelles sont les différentes manières de l’arrêter ?