Un processus est un programme en cours d’exécution. Par exemple, chaque fois que l’on lance la commande ls, un processus est créé durant l’exécution de la commande. Chaque processus correspond à un programme qui s’exécute parallèle aux autres.
Un processus est identifié par un numéro unique que l’on appelle le PID (Process IDentifiant).
Quand un processus est créer par un autre processus, on dit qu’il y a une relation père-fils entre les processus.
Un processus dispose d’un processus père que l’on appelle le PPID (Parent PID).
Le processus ancêtre de tous les autres est (init) qui est lancé par le noyau lors du boot. Le processus init a comme particularité d’être le premier processus et son PID est toujours 1
PID Identifiant du processus
PPID Identifiant du père du processus
PGID Identifiant d’un groupe de processus
UID Le compte user sous lequel le processus s’exécute
GIDs Le ou les comptes groupe sous lesquels le processus s’exécute
TTY Le terminal auquel le processus est associé
NICE Valeur modifiable qui intervient dans le calcul de la priorité
CMD Les arguments, en premier le nom de l’exécutable
Les processus et la mémoire:
– Chaque processus consomme de la mémoire, un processus actif est associé à un espace mémoire virtuel.
La charge système:
– Linux fonctionne en temps partagé. Il fractionne le temps des processeurs pour pouvoir s’occuper à tour de rôle de chaque processus.
Communication inter-processus:
– Un processus peut envoyer un signal à un autre processus.
– Il existe 63 signaux, numéroté de 1 à 63.
– Un processus peut traiter un signal reçu, soit en l’ignorant soit en déclenchant une action préprogrammée
– La réception d’un signal non géré entraine la mort du processus.
– Le signal 9 ne peut être géré, il entraine obligatoirement la mort du processus.
– On ne peut envoyer des signaux qu’à ses propres processus, seul root peut envoyer des signaux vers tous les processus.
Les commandes:
ps Liste les processus et leur caractéristiques
pstree Visualise la généalogie des processus
kill Envoie un signal à un processus ou à un groupe de processus
pkill Envoie un signal à un processus par son nom
killall Idem
pgrep Recherche un processus par son nom
lsof Liste les fichiers ouvert par un processus
fuser Liste les processus accédant à un fichier
ldd Liste les bibliothèques dynamiques associés à un exécutable
nice,renice Modifie la priorité
free Affiche la mémoire vive et la swap total et utilisée
uptime Affiche la charge système
top Les processus les plus consommateur de ressource
# L’application cron est-elle active ? Quel est son PID ?
p.lima@linux:~# ps -a | grep cron
# Affiche l’UID, le PID, le PPID, le STIME (heure de démarrage), le TTY, la commande et argument
p.lima@linux:~# sleep 300 &
p.lima@linux:~# ps -f
# Tuer la tache précédente
p.lima@linux:~# kill -TERM PID
# Affichez les caractéristiques d’un processus depuis son PID
p.lima@linux:~# ps -f -p PID
# Listez les processus appartement à un utilisateur
p.lima@linux:~# ps -u plima
# Affichez l’usage des ressources par les processus
p.lima@linux:~# ps aux | more
# Activer une application avec une valeur NICE de 10
p.lima@linux:~# nice -10 sleep 300 &
# Lister les processus en affichant leur NICE
p.lima@linux:~# ps -l
# Modifier la valeur du NICE
p.lima@linux:~# renice 10 PID
# Les commandes NICE et RENICE peuvent prendre les valeurs entre -20 et +20.
Une valeur positive abaisse la priorité.
Une valeur négative augmente la priorité. (Il faut être root)
# Visualiser les fichiers ouvert par un démon
p.lima@linux:~# lsof | grep démon | more
# Afficher le PID, PGID et CMD d’un démon
p.lima@linux:~# ps -o pid,pgid,cmd -e | grep démon


Laisser un commentaire