Lab 4.1 - Visualisation des Processus
Objectifs
À la fin de ce lab, vous serez capable de:
- Visualiser les processus avec ps, top, htop
- Comprendre les informations affichées
- Filtrer et trier les processus
- Monitorer les processus en temps réel
Prérequis
- Ubuntu 24.04 installé
- Terminal ouvert
- htop installé (optionnel mais recommandé)
Exercice 1: ps (Process Status)
Étape 1: Commandes de Base
# Voir tous les processus
ps aux
# Voir les processus de l'utilisateur actuel
ps
# Avec plus de détails
ps auxf # Arbre des processus
# Voir un processus spécifique
ps aux | grep firefox
Étape 2: Options Utiles
# Format personnalisé
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head -10
# Processus par utilisateur
ps -u $USER
# Processus par PID
ps -p 1
# Processus avec arbre
pstree
pstree -p # Avec PID
Étape 3: Analyse
# Top 10 par CPU
ps aux --sort=-%cpu | head -11
# Top 10 par mémoire
ps aux --sort=-%mem | head -11
# Compter les processus
ps aux | wc -l
# Par utilisateur
ps aux | awk '{print $1}' | sort | uniq -c | sort -rn
Exercice 2: top
Étape 1: Utilisation de Base
# Lancer top
top
# Commandes dans top:
# - 'q': Quitter
# - 'k': Tuer un processus (entrer PID)
# - 'r': Renicer un processus
# - 'M': Trier par mémoire
# - 'P': Trier par CPU
# - 'f': Changer les colonnes affichées
# - '1': Voir tous les CPUs
Étape 2: Mode Batch
# Exécuter top en mode batch (une fois)
top -bn1 | head -20
# Sauvegarder dans un fichier
top -bn1 > top-output.txt
# Voir les top processus
top -bn1 | grep -A 20 "PID USER"
Exercice 3: htop (Amélioré)
Étape 1: Installation
# Installer htop
sudo apt update
sudo apt install htop
# Lancer
htop
Étape 2: Fonctionnalités htop
# htop offre:
# - Interface colorée et intuitive
# - Navigation avec flèches
# - Filtrage en temps réel (F4)
# - Recherche (F3)
# - Tuer processus (F9)
# - Renicer (F7/F8)
# - Arbre des processus (F5)
Étape 3: Configuration
# Dans htop:
# - F2: Setup (configuration)
# - F10: Quitter
Exercice 4: Informations Détaillées
Étape 1: /proc
# Informations sur un processus (remplacer PID)
PID=$(pgrep -f firefox | head -1)
echo "PID: $PID"
# Statut
cat /proc/$PID/status
# Fichiers ouverts
ls -l /proc/$PID/fd/
# Répertoire de travail
readlink /proc/$PID/cwd
# Exécutable
readlink /proc/$PID/exe
Étape 2: lsof (si installé)
# Installer
sudo apt install lsof
# Fichiers ouverts par un processus
sudo lsof -p $PID
# Processus utilisant un fichier
sudo lsof /var/log/syslog
# Connexions réseau
sudo lsof -i
Exercice 5: Monitoring en Temps Réel
Étape 1: watch
# Surveiller les processus
watch -n 1 'ps aux --sort=-%cpu | head -10'
# Surveiller un processus spécifique
watch -n 1 'ps -p $PID -o pid,%cpu,%mem,cmd'
Étape 2: Script de Monitoring
# Créer un script
cat > ~/monitor-processes.sh << 'EOF'
#!/bin/bash
while true; do
clear
echo "=== $(date) ==="
echo
echo "Top 5 CPU:"
ps aux --sort=-%cpu | head -6
echo
echo "Top 5 Mémoire:"
ps aux --sort=-%mem | head -6
echo
echo "Total processus: $(ps aux | wc -l)"
sleep 2
done
EOF
chmod +x ~/monitor-processes.sh
# Lancer: ./monitor-processes.sh
Exercice 6: Filtrage Avancé
Étape 1: Par Nom
# Trouver tous les processus contenant "python"
ps aux | grep python
# Exclure le processus grep lui-même
ps aux | grep python | grep -v grep
# Avec pgrep
pgrep -a python
Étape 2: Par Utilisateur
# Processus d'un utilisateur
ps -u root
# Tous sauf root
ps aux | grep -v "^root"
Étape 3: Par État
# Processus en cours d'exécution
ps aux | grep " R "
# Processus en attente
ps aux | grep " S "
# Processus zombie
ps aux | grep " Z "
Vérification
Checklist
Vérifiez que vous pouvez:
- Utiliser ps pour voir les processus
- Utiliser top pour monitoring temps réel
- Utiliser htop (interface améliorée)
- Filtrer et trier les processus
- Voir les informations détaillées (/proc)
- Monitorer en temps réel
Questions de Réflexion
-
Quelle est la différence entre ps et top?
- ps: instantané
- top: temps réel, interactif
-
Que signifient les états des processus (R, S, Z)?
- R: Running (en cours)
- S: Sleeping (en attente)
- Z: Zombie (terminé mais pas nettoyé)
-
Pourquoi htop est-il préféré à top?
- Interface plus intuitive
- Navigation plus facile
- Plus d'informations visuelles
Prochaines Étapes
- Lab 4.2: Contrôle des Processus
- Lab 4.3: Priorités et Nice Values
- Chapitre 4.2: Visualisation des Processus
Lab créé le: Décembre 2024 - Testé sur Ubuntu 24.04