Cette classification est basée sur la manière dont un processus interagit avec l'utilisateur. Processus en avant-plan : Ce sont les processus directement manipulés par l'utilisateur, généralement lancés depuis un terminal et qui prennent le contrôle jusqu'à leur fin. Par exemple, ouvrir un fichier avec nano ou surveiller les performances du système avec htop.
htop &
Processus en arrière-plan : Ces processus libèrent le terminal après leur démarrage, permettant à l'utilisateur de continuer à travailler. Ils sont souvent lancés avec un & à la fin de la commande, comme dans sleep 300 &. 2. Classification selon la fonction système et le cycle de vie
Cette section aide à comprendre le rôle des processus et leurs états spécifiques. Démon : Les démons sont des processus en arrière-plan essentiels au système, comme systemd, syslogd, crond et apache2. Traitement par lots : Exécutés sans interaction utilisateur, ils sont soumis à une file d'attente. Des exemples incluent la compilation de programmes via make ou l'exécution de tâches planifiées avec batch. Processus interactifs : Généralement lancés par un shell, nécessitant une interaction avec l'utilisateur, pouvant s'exécuter aussi bien en avant-plan qu'en arrière-plan. Processus orphelin : Lorsqu'un processus parent se termine avant ses enfants, ceux-ci deviennent des orphelins, adoptés par le processus init (ou systemd). Processus zombie : Un processus qui a terminé son exécution mais reste dans la table des processus pour informer le processus parent de sa fin. Trop nombreux, ils peuvent épuiser les ressources du système. 3. Visualisation des processus
Pour visualiser ces processus, plusieurs outils sont disponibles : - La commande ps affiche un instantané des processus actuels. - pstree montre la hiérarchie des processus. - top offre une vue dynamique des processus consommant le plus de ressources. - pidof trouve l'ID de processus par nom. - La série de commandes kill permet de contrôler les processus en envoyant des signaux. 4. Gestion des processus avec kill
La commande kill envoie des signaux aux processus. Voici quelques exemples révisés : 1️⃣ Pour arrêter normalement un processus :
kill 5678
2️⃣ Pour forcer l'arrêt d'un processus :
kill -SIGKILL 5678
3️⃣ Pour relancer la lecture des fichiers de configruation :
kill -SIGHUP 5678
4️⃣ Pour suspendre et reprendre un processus :
kill -STOP 5678
kill -CONT 5678
5️⃣ Pour vérifier l'existence d'un processus sans envoyer de signal :
kill -0 5678
D'autres commandes utiles incluent killall, pkill et pgrep pour gérer les processus par nom ou autres attributs.