Commande Linux pgrep

« Back to Glossary Index

La commande pgrep est le compagnon idéal de kill et pkill. Son nom signifie “process grep”. Elle permet de rechercher des processus en cours d’exécution et de renvoyer uniquement leurs PIDs (Process ID) en fonction de critères de recherche (nom, utilisateur, etc.).

C’est une commande beaucoup plus propre et efficace que l’enchaînement classique ps aux | grep [nom] | grep -v grep | awk '{print $2}'.

1. pourquoi utiliser pgrep ?

dans une logique d’automatisation (votre règle du 80/20), pgrep est indispensable car elle ne renvoie que le numéro du processus. c’est donc très facile à utiliser dans un script pour effectuer une action sur ce processus sans avoir à “nettoyer” la sortie de texte.

2. les options essentielles

optiondescription
pgrep [nom]affiche les PIDs de tous les processus dont le nom correspond au motif.
pgrep -l [nom]affiche le PID et le nom du processus (pratique pour vérifier).
pgrep -u [utilisateur]liste les processus appartenant à un utilisateur spécifique.
pgrep -c [nom]compte le nombre de processus en cours (count).
pgrep -naffiche uniquement le processus le plus récent (newest).
pgrep -oaffiche uniquement le processus le plus ancien (oldest).
pgrep -x [nom]recherche une correspondance exacte du nom (évite les erreurs).

3. exemples d’utilisation

trouver le PID d’un serveur web

si vous voulez savoir quel est le PID de Nginx pour votre LMS :

pgrep nginx

vérifier combien d’instances d’un script tournent

si vous avez un script d’automatisation qui s’appelle sync_formation.sh :

pgrep -c sync_formation

lister les processus d’un utilisateur précis

pour voir ce que fait l’utilisateur “www-data” (souvent utilisé pour les serveurs web) :

pgrep -u www-data -l

4. comparaison : ps | grep vs pgrep

| aspect | ps aux | grep nginx | pgrep nginx | | :— | :— | :— | | lisibilité | fouillis de texte (colonnes, temps, cpu…). | sortie épurée (juste les chiffres). | | précision | risque de trouver le processus grep lui-même. | ignore nativement le processus de recherche. | | usage script | nécessite awk ou cut pour isoler le PID. | utilisable directement dans une variable ou une boucle. |

5. application stratégique pour EDU-JALM

l’utilisation de pgrep est parfaite pour sécuriser vos automatisations.

cas concret : éviter de lancer deux fois le même script. si vous automatisez une tâche lourde (comme la génération de rapports pédagogiques), vous ne voulez pas qu’une deuxième instance se lance si la première n’est pas finie.

Bash

# vérifie si le script "backup_lms" tourne déjà
if pgrep -x "backup_lms.sh" > /dev/null
then
    echo "le script est déjà en cours d'exécution. on attend."
    exit 1
else
    echo "lancement de la sauvegarde..."
    ./backup_lms.sh
fi
« Revenir à l'index du glossaire

Entreprise de services numérique spécialisée dans la cybersécurité / le web et la formation.

Nous contacter :
contact@glorydev.fr

Nous envoyer un email :

Perpignan

Lieu :

Suivez-nous :