Fondamentaux
Processus Linux
Un processus est un programme en cours d'exécution. Chaque processus possède un identifiant unique appelé PID, un propriétaire, un état, une commande et parfois des connexions réseau.
Notions de base
| Notion | Description |
|---|---|
| PID | Identifiant du processus |
| PPID | Identifiant du processus parent |
| UID | Utilisateur qui exécute le processus |
| Commande | Programme et arguments lancés |
| Environnement | Variables disponibles pour le processus |
Un processus peut créer d'autres processus. Cette relation parent/enfant aide à comprendre comment une commande, un service ou un script a été lancé.
pstree -p
Afficher les processus
ps
ps aux
ps -ef
| Colonne | Description |
|---|---|
| PID | Identifiant du processus |
| USER | Propriétaire |
| %CPU | Utilisation CPU |
| %MEM | Utilisation mémoire |
| COMMAND | Commande exécutée |
Voir un processus précis :
ps -fp PID
pgrep -a nginx
Arrière-plan
sleep 100 &
jobs
fg %1
bg %1
Ces commandes permettent de lancer, reprendre ou basculer des tâches entre premier plan et arrière-plan.
Signaux
kill PID
kill -9 PID
kill -l
| Signal | Rôle |
|---|---|
| SIGTERM | Arrêt propre |
| SIGINT | Interruption, comme Ctrl+C |
| SIGKILL | Arrêt forcé |
| SIGSTOP | Suspension |
| SIGCONT | Reprise |
Prudence
kill -9 force l'arrêt immédiat du processus. Il doit rester un dernier recours, car il ne laisse pas l'application se terminer proprement.
Processus et réseau
Un processus peut écouter sur un port ou ouvrir des connexions sortantes.
ss -tulpn
lsof -i
Ces commandes permettent de relier un port à un programme, ce qui est essentiel pour comprendre une exposition réseau ou une activité suspecte.
Le pseudo-système /proc
Linux expose beaucoup d'informations sur les processus dans /proc.
ls /proc/PID
cat /proc/PID/cmdline
cat /proc/PID/environ
ls -l /proc/PID/exe
Certaines informations peuvent révéler des chemins, arguments, variables d'environnement ou binaires exécutés.
Secrets
Des secrets passés en argument ou en variable d'environnement peuvent apparaître dans certains contextes d'administration ou d'investigation.
Priorité
Linux utilise la valeur nice pour influencer la priorité.
-20 → priorité maximale
0 → priorité par défaut
19 → priorité minimale
nice -n 10 commande
renice -n 5 -p PID
Surveillance
top
sudo apt install htop
htop
ps aux | grep bash
pgrep bash
pkill bash
En investigation, ces commandes aident à repérer un programme inconnu, une consommation anormale ou une persistance active.
Méthode d'analyse rapide
Quand un processus paraît suspect, vérifie :
- son utilisateur
- son chemin d'exécution
- ses arguments
- son processus parent
- ses connexions réseau
- ses fichiers ouverts
- sa date de lancement
- les journaux associés
ps -fp PID
ls -l /proc/PID/exe
sudo lsof -p PID
sudo ss -tulpn
À retenir
Un processus n'est pas seulement un nom. Il faut relier le programme, l'utilisateur, le chemin, le parent, les fichiers ouverts et le réseau.
