TP Gestion et surveillance des processus


Généralités

Nous avons vu l'organisation du système de fichiers, le dispositif de démarrage de la machine et des services.
Voyons maintenant les programmes chargés en mémoire et qui fonctionnent en permanence, en particulier les serveurs.

Les différentes sortes de processus

En plus des processus exécutés dans une session de travail, soit en "avant-plan" mode habituel de fonctionnement, soit en "tâche de fond", il existe des processus dits "détachés" qui n'ont été lancés dans aucune console.
Ces processus détachés sont les exécutions de services du système (en particulier services réseaux) sont appelés daemons, francisés en "démons".
L'administrateur n'ayant pas directement la main sur un démon (où taper Crtl-C pour stopper le programme ?), il doit lui envoyer un signal pour le supprimer ou agir sur sa configuration. Cela s'effectue par la commande kill. On peut les connaitre en lançant la commande ps, qui affiche alors un ? au lieu du nom de la console tty

Pour connaitre tous les processus en cours de fonctionnement

Pour modifier l'état d'un processus

On peut gérer les processus en leur envoyant des signaux par l'intermédiaire des commandes kill et killall, suivant que l'on connaisse le numéro PID du processus, ou bien son nom.
Voici les principales actions que l'administrateur peut etre amené à utiliser

Connaitre l'état de la mémoire

La commande free affiche la mémoire disponible, utilisée, libre ...

Connaitre les ressources utilisées par les processus

Manipulations

  1. Comment vérifier que le processus init est bien le tout premier lancé par le noyau ?

  2. Comparez les PID fournies par la commande ps aux et les numéros conservés dans /var/run

  3. Connexions root dans tty1 et stage dans tty2
    Expliquez ce que signifie la commande suivante et notez les numéros PID
    ps aux | grep login
    Que se produira t-il si on supprime un processus login dans tty2 ? dans tty1 ? Vérifier.

  4. Expliquez ce que réalise la commande suivante (information : man tail, option -f)
    tail -f /var/log/apache/access.log > /dev/tty11  &
    Notez le PID, observez le contenu de la console tty11, ensuite supprimez cette tache de fond par kill -9 PID et vérifier.

  5. Comment connaitre l'état d'activité de la console tty3 ?
    Se connecter (sous un compte quelconque) à la console tty3.
    Passez la commande permettant de connaitre tous les processus qui concerne la console tty3.
    Comment expliquer l'effet d'un tube (ou pipe) ?

  6. Connexion comme stagex dans tty1 et dans tty2
    Lancez mc dans tty1, afficher un fichier
    Dans tty2, repérez le numéro PID du processus mc, pour ensuite le supprimer par kill PID.
    Vérifiez le résultat.