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

NotionDescription
PIDIdentifiant du processus
PPIDIdentifiant du processus parent
UIDUtilisateur qui exécute le processus
CommandeProgramme et arguments lancés
EnvironnementVariables 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
ColonneDescription
PIDIdentifiant du processus
USERPropriétaire
%CPUUtilisation CPU
%MEMUtilisation mémoire
COMMANDCommande 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
SignalRôle
SIGTERMArrêt propre
SIGINTInterruption, comme Ctrl+C
SIGKILLArrêt forcé
SIGSTOPSuspension
SIGCONTReprise

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.

Précédent
Utilisateurs et permissions Linux