Retour au blog

Comment surveiller les processus sur macOS : guide complet pour développeurs

Apprenez à surveiller, inspecter et gérer les processus macOS au-delà d'Activity Monitor — des arbres de processus et PID aux variables d'environnement et signatures de code.

Sur cette page

Tout développeur macOS finit par rencontrer la même frustration : Activity Monitor vous montre qu’un processus consomme du CPU, mais ne vous fournit pratiquement aucune donnée exploitable pour comprendre pourquoi. Ce guide couvre tout ce que vous devez savoir sur la surveillance des processus sous macOS — des bases aux techniques avancées qui vous aident réellement à déboguer.

Réponse rapide

Le Moniteur d’activité permet de vérifier le CPU et la mémoire et propose une vue hiérarchique des processus. ProcXray associe cette hiérarchie aux variables d’environnement, à la recherche regex, à la vérification des signatures de code et aux entrées conservées après la fin des processus.

Qu’est-ce qu’un processus ?

Sous macOS, chaque programme en cours d’exécution est un processus avec un identifiant de processus (PID) unique. Lorsque vous ouvrez votre navigateur, macOS crée un processus parent, qui peut engendrer des dizaines de processus enfants — processus de rendu, processus GPU, processus d’extensions, etc. Comprendre cette hiérarchie est la première étape vers une surveillance efficace.

Le Moniteur d’activité peut afficher les relations parent-enfant : choisissez la vue hiérarchique de toutes les opérations dans le menu Présentation (en anglais : View → All Processes, Hierarchically). Elle permet de retrouver le processus parent d’un auxiliaire. Voir le guide Apple.

Les bases : Activity Monitor

L’outil intégré d’Apple, Activity Monitor (/Applications/Utilities/Activity Monitor.app), vous offre :

C’est suffisant pour un usage courant. Pour les développeurs, ses limites apparaissent presque immédiatement.

Ce qu’Activity Monitor ne peut pas faire

Voici les obstacles que vous rencontrerez rapidement en tant que développeur :

Pas de variables d’environnement. Lorsque vous cherchez à comprendre pourquoi NODE_ENV ou DYLD_LIBRARY_PATH est incorrect dans un processus, vous n’avez aucun moyen d’inspecter l’environnement réel avec lequel le processus a été lancé.

Pas de recherche par regex en temps réel. Filtrer 300 processus par nom demande une saisie minutieuse et se réinitialise fréquemment.

Les processus éphémères sont invisibles. Un système de build qui crée et détruit des processus de compilation en quelques millisecondes ? Activity Monitor ne les capte jamais.

Utilisation de la ligne de commande

ps, top, lsof et dtrace comblent certaines lacunes :

# Afficher l'arbre des processus
ps auxf

# Lister tous les fichiers ouverts par un processus
lsof -p <PID>

# Afficher les variables d'environnement d'un processus
ps eww -p <PID>

Ces outils sont puissants mais peu pratiques. ps eww affiche l’environnement sous forme d’un bloc de texte illisible. La sortie de lsof peut faire des milliers de lignes.

Une meilleure approche : ProcXray

ProcXray est une application macOS native conçue spécifiquement pour les développeurs qui ont besoin de plus que ce qu’offre Activity Monitor. Elle met en évidence les données dont vous avez réellement besoin :

Vue en arbre des processus

Basculez entre une liste plate et un arbre de processus en direct. Visualisez instantanément les relations parent-enfant — essentiel pour déboguer des scripts shell, des outils de build ou des applications multi-processus comme Chrome ou Electron.

Inspecteur de variables d’environnement

Cliquez sur n’importe quel processus et passez à l’onglet Environment. Chaque variable d’environnement avec laquelle le processus a été lancé est listée, consultable par recherche et copiable en JSON. Fini le parsing de ps eww.

Recherche par regex en temps réel

Saisissez un motif regex et la liste se filtre instantanément sur les noms de processus, les PID, les arguments de ligne de commande et les chemins. Trouvez node.*server ou python3.*manage en quelques millisecondes.

Capture des processus éphémères

ProcXray met en évidence les processus nouvellement créés en vert et conserve les processus terminés en rouge pendant une durée configurable. Vous verrez enfin ces processus transitoires de compilation et d’édition de liens qui disparaissent avant qu’Activity Monitor ne se rafraîchisse.

Vérification de la signature de code

Pour les audits de sécurité, ProcXray indique si chaque processus est signé, par qui, et quels droits (entitlements) il détient — le tout sans toucher au terminal.

Quand utiliser quel outil

ScénarioOutil
Vérification rapide du CPU/mémoireActivity Monitor
Déboguer un processus incontrôlableProcXray
Inspecter l’environnement d’un processusProcXray
Trouver l’origine d’un processusProcXray
Audit de sécurité des processus non signésProcXray
Surveillance scriptée/automatiséeps, top, dtrace

Pour commencer

Télécharger ProcXray — gratuit, signé et notarisé par Apple. Nécessite macOS 14 (Sonoma) ou ultérieur sur Apple Silicon ou Intel.

Une fois installé, il remplace votre utilisation quotidienne d’Activity Monitor par un outil qui vous fait réellement gagner en efficacité.

FAQ

Quelle est la méthode la plus rapide pour trouver l’origine d’un processus suspect ?

Utilisez un arbre de processus en direct. Les relations parent-enfant révèlent immédiatement quel script shell, quelle étape de build ou quel composant d’application a lancé le processus.

Comment inspecter l’environnement d’un processus sous macOS ?

Vous pouvez utiliser ps eww -p <PID> depuis le Terminal, mais l’inspection visuelle de l’environnement est généralement plus rapide pour les ensembles de variables volumineux et l’analyse répétée d’incidents.

Les développeurs doivent-ils abandonner complètement Activity Monitor ?

Le Moniteur d’activité permet de vérifier le CPU et la mémoire et propose une vue hiérarchique des processus. ProcXray associe cette hiérarchie aux variables d’environnement, à la recherche regex, à la vérification des signatures de code et aux entrées conservées après la fin des processus.

Sources et références