Gestion et surveillance des processus


Généralités

Les différentes sortes de processus

En plus des processus exécutés dans une session de travail en avant-plan (foreground), mode habituel de fonctionnement et ceux qui sont lancés en tâche de fond, il existe des processus dits détachés qui ne sont exécutés dans aucune console (ps affiche alors un ? au lieu du nom de console tty-).
Les processus détachés qui 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.

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. Comparer les PID fournies par la commande ps aux et les numéros conservés dans /var/run

  3. Connexions root dans tty1 et stagex dans tty2
    Expliquer ce que signifie la commande suivante et noter 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. Expliquer ce que réalise la commande suivante (information : man tail, option -f)
    tail -f /etc/httpd/logs/access.log > /dev/tty11  &
    Noter le PID, observer le contenu de la console tty11, ensuite supprimer 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.
    Passer la commande permettant de connaitre tous les processus qui concerne la console tty4.
    Comment expliquer l'effet d'un tube (ou pipe) ?

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

  7. Lancer le serveur X-KDE par startx, passer en mode console dans un autre terminal, y repérer le PID de kfm, et le tuer.
    Mais qu'avez-vous donc fait ? pouvez vous lancer des programmes ?
    Ensuite, débarrassez-vous de kpanel .
    Bravo, admirez votre oeuvre, comment allez-vous pouvoir quitter proprement le serveur X maintenant ?
    Essayez de redémarrer le serveur X --> erreur : "remove /tmp/.X0-lock and start again".
    Il n'y a qu'une solution, se débarrasser du processus parent qui est /etc/X11/X ..
    ps aux |grep X  ---> root PID=2128 /etc/X11/X ...
    kill 2128