Un inspecteur de processus pour votre Mac, intégré à votre moniteur d’activité.
Cliquez sur n’importe quel processus et son volet affiche l’app à laquelle il appartient, sa signature de code et son identifiant d’équipe, ses droits, son processus parent et son Launch Agent, sa ligne de commande complète, et le temps de traitement, la mémoire, les fichiers ouverts et les ports en écoute qu’il a utilisés depuis son lancement. Une app y ajoute sa version, son identifiant de paquet et son Info.plist. Enregistrez-le au format CSV, ou obtenez la même chose avec vitals process dans Terminal.
- Version
- 156.0.8078.74
- Identifiant de paquet
- com.google.Chrome
- Architecture
- Universel · x86_64 · arm64
- Signature
- Google LLC · Identifiant d’équipe EQHXZ8M8AV
- Protection
- Exécution renforcéeSans environnement contrôlé
- Utilisateur
- me
- En cours depuis
- 6h 14m
- Emplacement
- /Applications/Google Chrome.app
- Version
- 2.15
- Identifiant de paquet
- com.apple.Terminal
- Architecture
- Puce Apple · arm64e
- Signature
- Apple
- Protection
- Sans exécution renforcéeSans environnement contrôlé
- Utilisateur
- me
- En cours depuis
- 2d 6h
- Emplacement
- /System/Applications/Utilities/Terminal.app
- Version
- 4.88.1
- Identifiant de paquet
- com.docker.docker
- Architecture
- Puce Apple · arm64
- Signature
- Docker Inc · Identifiant d’équipe 9BNSXJN65R
- Protection
- Exécution renforcéeSans environnement contrôlé
- Utilisateur
- me
- En cours depuis
- 3d 1h
- Emplacement
- /Applications/Docker.app
- Nº de l’opération
- 48190
- Opération parente
- launchd (1)
- En cours depuis
- 6h 14m
- Identifiant de paquet
- com.google.Chrome
- Version
- 156.0.8078.74
- Architecture
- Universel · x86_64 · arm64
- Signature
- Google LLC · Identifiant d’équipe EQHXZ8M8AV
- Exécution renforcée
- Oui
- Environnement contrôlé
- Non
- Droits
- 1
- Temps de traitement
- 42m 10s Utilisateur 32m 54s · 78%Système 9m 16s · 22%
- Mémoire
- 412 MB · 61% de son pic de 672 MB
- Threads
- 64
- Fichiers ouverts
- 318
- Nº de l’opération
- 48211
- Opération parente
- Google Chrome (48190)
- Lancé par
- Google Chrome (48190)
- En cours depuis
- 6h 12m
- Version
- 156.0.8078.74
- Architecture
- Universel · x86_64 · arm64
- Arguments
- --type=renderer --lang=en-US --num-raster-threads=4 --enable-zero-copy
- Signature
- Google LLC · Identifiant d’équipe EQHXZ8M8AV
- Exécution renforcée
- Oui
- Environnement contrôlé
- Non
- Droits
- 1
- Temps de traitement
- 12m 40s Utilisateur 10m 23s · 82%Système 2m 17s · 18%
- Mémoire
- 1,92 GB · 88% de son pic de 2,18 GB
- Threads
- 23
- Fichiers ouverts
- 96
- Nº de l’opération
- 48193
- Opération parente
- Google Chrome (48190)
- Lancé par
- Google Chrome (48190)
- En cours depuis
- 6h 14m
- Version
- 156.0.8078.74
- Architecture
- Universel · x86_64 · arm64
- Arguments
- --type=gpu-process --lang=en-US --gpu-preferences=UAAAAAAAAADgAAAEAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAA
- Signature
- Google LLC · Identifiant d’équipe EQHXZ8M8AV
- Exécution renforcée
- Oui
- Environnement contrôlé
- Non
- Droits
- 1
- Temps de traitement
- 18m 2s Utilisateur 12m 37s · 70%Système 5m 25s · 30%
- GPU
- 3%
- Mémoire
- 842 MB · 93% de son pic de 904 MB
- Threads
- 31
- Fichiers ouverts
- 142
- Nº de l’opération
- 48377
- Opération parente
- Google Chrome (48190)
- Lancé par
- Google Chrome (48190)
- En cours depuis
- 3h 40m
- Version
- 156.0.8078.74
- Architecture
- Universel · x86_64 · arm64
- Arguments
- --type=renderer --lang=en-US --num-raster-threads=4 --enable-zero-copy
- Signature
- Google LLC · Identifiant d’équipe EQHXZ8M8AV
- Exécution renforcée
- Oui
- Environnement contrôlé
- Non
- Droits
- 1
- Temps de traitement
- 4m 51s Utilisateur 4m 2s · 83%Système 49s · 17%
- Mémoire
- 1,31 GB · 96% de son pic de 1,36 GB
- Threads
- 21
- Fichiers ouverts
- 88
- Nº de l’opération
- 581
- Opération parente
- launchd (1)
- En cours depuis
- 2d 6h
- Identifiant de paquet
- com.apple.Terminal
- Version
- 2.15
- Architecture
- Puce Apple · arm64e
- Signature
- Apple
- Exécution renforcée
- Non
- Environnement contrôlé
- Non
- Droits
- 6
- Temps de traitement
- 3m 12s Utilisateur 2m 2s · 64%Système 1m 10s · 36%
- Mémoire
- 148 MB · 71% de son pic de 208 MB
- Threads
- 12
- Fichiers ouverts
- 58
- Nº de l’opération
- 60120
- Opération parente
- login (60118)
- Lancé par
- Terminal (581)
- En cours depuis
- 2d 5h
- Architecture
- Puce Apple · arm64e
- Arguments
- -zsh
- Signature
- Apple
- Exécution renforcée
- Non
- Environnement contrôlé
- Non
- Temps de traitement
- 1.2s Utilisateur 0.7s · 58%Système 0.5s · 42%
- Mémoire
- 12 MB · 60% de son pic de 20 MB
- Threads
- 1
- Fichiers ouverts
- 8
- Nº de l’opération
- 60412
- Opération parente
- zsh (60120)
- Lancé par
- Terminal (581)
- En cours depuis
- 2d 4h
- Architecture
- Puce Apple · arm64
- Arguments
- node_modules/.bin/next dev --port 3000
- Signature
- Node.js Foundation · Identifiant d’équipe HX7739G8FX
- Exécution renforcée
- Oui
- Environnement contrôlé
- Non
- Temps de traitement
- 1h 52m Utilisateur 1h 42m · 91%Système 10m 5s · 9%
- Mémoire
- 486 MB · 61% de son pic de 797 MB
- Threads
- 19
- Fichiers ouverts
- 203
- Ports en écoute
- 3000
- Nº de l’opération
- 60533
- Opération parente
- zsh (60120)
- Lancé par
- Terminal (581)
- En cours depuis
- 14s
- Architecture
- Puce Apple · arm64
- Arguments
- node_modules/.bin/vitest run --coverage
- Signature
- Node.js Foundation · Identifiant d’équipe HX7739G8FX
- Exécution renforcée
- Oui
- Environnement contrôlé
- Non
- Temps de traitement
- 9.1s Utilisateur 8.0s · 88%Système 1.1s · 12%
- Mémoire
- 391 MB · 100% de son pic de 391 MB
- Threads
- 27
- Fichiers ouverts
- 412
- Nº de l’opération
- 20288
- Opération parente
- launchd (1)
- En cours depuis
- 3d 1h
- Identifiant de paquet
- com.docker.docker
- Version
- 4.88.1
- Architecture
- Puce Apple · arm64
- Signature
- Docker Inc · Identifiant d’équipe 9BNSXJN65R
- Exécution renforcée
- Oui
- Environnement contrôlé
- Non
- Droits
- 7
- Temps de traitement
- 6m 4s Utilisateur 4m 31s · 74%Système 1m 33s · 26%
- Mémoire
- 112 MB · 48% de son pic de 233 MB
- Threads
- 22
- Fichiers ouverts
- 74
- Nº de l’opération
- 20311
- Opération parente
- Docker (20288)
- Lancé par
- Docker (20288)
- En cours depuis
- 3d 1h
- Version
- 4.88.1
- Architecture
- Puce Apple · arm64
- Arguments
- -watchdog -max-restarts 5
- Signature
- Docker Inc · Identifiant d’équipe 9BNSXJN65R
- Exécution renforcée
- Oui
- Environnement contrôlé
- Non
- Droits
- 7
- Temps de traitement
- 3h 8m Utilisateur 2h 0m · 64%Système 1h 8m · 36%
- Mémoire
- 1,57 GB · 77% de son pic de 2,04 GB
- Threads
- 48
- Fichiers ouverts
- 241
- Nº de l’opération
- 20340
- Opération parente
- com.docker.backend (20311)
- Lancé par
- Docker (20288)
- En cours depuis
- 12s
- Version
- 4.88.1
- Architecture
- Puce Apple · arm64
- Signature
- Docker Inc · Identifiant d’équipe 9BNSXJN65R
- Exécution renforcée
- Oui
- Environnement contrôlé
- Non
- Droits
- 1
- Temps de traitement
- 2.0s Utilisateur 1.6s · 80%Système 0.4s · 20%
- Mémoire
- 64 MB · 100% de son pic de 64 MB
- Threads
- 9
- Fichiers ouverts
- 31
- Nº de l’opération
- 20318
- Opération parente
- com.docker.backend (20311)
- Lancé par
- Docker (20288)
- En cours depuis
- 3d 1h
- Version
- 4.88.1
- Architecture
- Puce Apple · arm64
- Signature
- Docker Inc · Identifiant d’équipe 9BNSXJN65R
- Exécution renforcée
- Oui
- Environnement contrôlé
- Non
- Droits
- 3
- Temps de traitement
- 1h 4m Utilisateur 31m 12s · 49%Système 32m 48s · 51%
- Mémoire
- 38 MB · 73% de son pic de 52 MB
- Threads
- 14
- Fichiers ouverts
- 46
Les chiffres sont simulés : une page web ne peut pas lire votre Mac, et ne devrait pas.
L’app derrière un processus, sa signature de code et ses droits.
Le volet s’ouvre sur l’app à laquelle appartient un processus et le type de processus que c’est : un onglet de navigateur, une extension, un processus GPU, un serveur de dev. Puis sa signature de code, avec le nom du développeur et l’identifiant d’équipe, s’il utilise l’exécution renforcée et un sandbox, chaque droit dont il dispose, et s’il est compilé pour les puces Apple, Intel ou les deux et s’exécute via Rosetta.
- L’app à laquelle il appartient, et s’il s’agit d’un onglet, d’une extension ou d’un utilitaire
- La signature de code, avec l’identifiant d’équipe ; ceux d’Apple disent Apple
- Exécution renforcée, sandbox, et chaque droit
- Compilé pour les puces Apple, Intel ou les deux, et si Rosetta l’exécute
Le processus parent, le Launch Agent et la ligne de commande complète.
Chaque processus a un parent, et Vitals le nomme, avec l’app qui l’a lancé et, pour un processus d’arrière-plan, le Launch Agent ou Launch Daemon de launchd qui le lance à l’ouverture de session. La ligne de commande complète transforme un simple node ou python en serveur de dev d’un projet que vous connaissez. En dessous, les processus enfants qu’il a lancés, chacun à un clic.
- Le processus parent et l’app qui l’a lancé, chacun un lien
- Le Launch Agent ou Launch Daemon qui le lance à l’ouverture de session
- La ligne de commande complète, et son environnement quand vous l’ouvrez
- Les processus enfants, chacun avec ses propres chiffres
Temps de traitement, pic de mémoire, fichiers ouverts et ports en écoute depuis son lancement.
Un pourcentage parle de cette seconde. Le volet couvre toute la vie du processus : le temps de traitement depuis son lancement, réparti entre son propre travail et celui du noyau pour lui ; la mémoire actuelle face au maximum qu’il a jamais occupé ; les threads, les fichiers ouverts, les pages entrantes, les octets lus et écrits, et les ports sur lesquels il écoute, avec un graphique en direct du processeur et de la mémoire tant que le volet est ouvert.
- Le temps de traitement, réparti entre utilisateur et système
- La mémoire actuelle, en part de son pic depuis le lancement
- Threads, fichiers ouverts, pages entrantes, disque lu et écrit
- Les ports en écoute, et des graphiques en direct tant que le volet est ouvert
La version, l’identifiant de paquet et l’Info.plist d’une app, avec chacun de ses processus.
Ouvrez une app et sa carte Détails donne la version, l’identifiant de paquet, l’emplacement, la signature de code et ce qui la lance, avec tout l’Info.plist à un clic. Ses processus sont listés en dessous, chacun à un clic de ses détails. Celui qui vient de démarrer porte la marque Nouveau, et ceux qui se sont terminés dans les dix dernières minutes restent listés, pour qu’un plantage ou un utilitaire passé en coup de vent ne soit pas perdu.
- Version, identifiant de paquet et tout l’Info.plist
- Chaque processus, avec la marque Nouveau sur celui qui vient de démarrer
- Terminées récemment : ce qui s’est fermé dans les dix dernières minutes
- Choisissez les colonnes du tableau, et filtrez avec
/a regex/
Exportez un processus en CSV, ou lancez vitals process dans Terminal.
Chaque volet a un menu d’exportation : Copier en tant que texte pour un message ou un rapport de bug, Enregistrer au format CSV pour un tableur, Info.plist et droits compris. Dans Terminal, vitals process donne la même chose pour n’importe quel processus, par nom ou par PID, et un assistant IA l’obtient via MCP par l’outil process_details.
- Copier en tant que texte, ou Enregistrer au format CSV
vitals process node, ou par PID, avec--jsonpour les scripts--envajoute l’environnement,--plistl’Info.plist- L’outil
process_detailspour Claude, Codex et Cursor via MCP
Inspecteur de processus, avant et après
La fenêtre Inspecter du Moniteur d’activité donne pour un processus son parent, son utilisateur, son temps de traitement, sa mémoire, ses fichiers ouverts et ses ports, et un échantillon. Elle ne dit pas qui l’a signé, à quelle app appartient un simple node, ce qui le lance à l’ouverture de session, ni quelle était la ligne de commande complète. Pour cela, vous ouvrez Terminal : codesign pour la signature, ps pour les arguments, launchctl pour ce qui le lance, lsof pour les ports, et plutil pour l’Info.plist.
La question est généralement plus simple que ça. Qu’est-ce que c’est ? Un processus appelé Helper, un python que personne ne se souvient avoir lancé, quelque chose avec un nom comme com.apple.something qui utilise la moitié d’un cœur. Est-ce que ça fait partie d’une app que j’ai installée, est-ce à Apple, et est-ce que ça devrait tourner ?
Vitals répond dans un seul volet : l’app à laquelle appartient le processus et le type de processus que c’est, sa signature de code et ses droits, son parent et sa ligne de commande, les processus qu’il a lancés, et le temps de traitement, la mémoire, les fichiers et les ports qu’il a utilisés depuis son lancement, avec la version, l’Info.plist et les droits repliés en dessous. La même réponse arrive en CSV, en vitals process dans Terminal, et comme outil pour un assistant IA.
Où le trouver dans Vitals
L’onglet, l’élément de la barre des menus et le réglage, dans l’ordre où vous irez les chercher.
- 01
Cliquez sur n’importe quel processus pour ouvrir son volet
Dans n’importe quel onglet, cliquez sur une app puis sur l’un de ses processus, ou survolez un processus dans le volet d’une app et cliquez sur le ⓘ. Le volet s’ouvre dessus. ⌘F trouve un processus par son nom, et
/a pattern/cherche avec une expression régulière. - 02
Lisez le volet section par section
Identité, puis App ou Exécutable, Sécurité, Utilisation des ressources, Disque, Réseau et Opérations enfants. Info.plist, Droits et Environnement sont repliés jusqu’à ce que vous les ouvriez. Le parent, le lanceur et chaque enfant sont des liens : cliquez sur l’un d’eux pour y aller.
- 03
Choisissez les colonnes du tableau des processus
Le bouton Colonnes de la barre d’outils ajoute ou retire les colonnes d’un onglet : PID, utilisateur, chemin, version, heure de lancement, réactivations pour inactivité et les relevés. Chaque onglet garde son propre choix.
- 04
Copiez-le, enregistrez-le en CSV, ou demandez dans Terminal
Le bouton de partage dans l’en-tête du volet propose Copier en tant que texte et Enregistrer au format CSV. Dans Terminal,
vitals process <name>ouvitals process <pid>, avec--json,--envou--plist. Via MCP, l’outilprocess_details.
Inspecteur de processus : le Moniteur d’activité et Vitals
La comparaison complète se fait ligne par ligne. Voici les lignes côté inspecteur de processus.
codesign dans Terminalvitals process --jsonLe vocabulaire
Ce que veulent dire les chiffres, tiré du lexique du Moniteur d’activité.
- PID
Un PID, ou identifiant de processus, est un numéro que macOS attribue à chaque processus en cours pour l’identifier.
- launchd
launchd est le premier processus que macOS lance au démarrage, avec l’identifiant de processus 1.
- Processus utilitaires
Les processus utilitaires sont des processus distincts qu’une app lance pour faire une partie de son travail, comme afficher des pages web, exécuter des extensions ou gérer l’affichage.
- Threads
Un thread est un fil d’exécution distinct à l’intérieur d’un processus, et un processus peut faire tourner plusieurs threads en même temps sur différents cœurs du processeur.
- Port en écoute
Un port en écoute est un port réseau sur lequel un processus attend des connexions entrantes, comme un serveur web sur le port 3000.
- WindowServer
WindowServer est le processus système de macOS qui gère les fenêtres, assemble ce que dessinent les apps en une image finale sur vos écrans, et transmet les événements d’entrée, comme les clics et les frappes au clavier, à la bonne app.
- Échantillonner l’opération
Échantillonner l’opération est un outil du Moniteur d’activité qui enregistre ce que fait un processus sélectionné pendant quelques secondes et produit un rapport texte indiquant où ses threads passent leur temps.
- Forcer à quitter
Forcer à quitter arrête une app ou un processus immédiatement, sans le laisser enregistrer ni faire le ménage.
Questions
Celles qu’on pose sur inspecteur de processus avant d’acheter.
Comment ouvrir l’inspecteur de processus ?
Cliquez sur un processus dans n’importe quelle liste et son volet s’ouvre. Dans le volet d’une app, chaque processus est une ligne : cliquez dessus, ou sur le ⓘ qui apparaît à côté quand vous le survolez. Appuyez sur ⌘F pour trouver un processus par son nom, et tapez /a pattern/ pour chercher avec une expression régulière.
Que m’apprend la signature de code d’un processus ?
Qui a compilé le code. Un nom avec un identifiant d’équipe est un développeur identifié par Apple, comme Google LLC ou Docker Inc. Les processus d’Apple disent Apple. « Signé, sans certificat » est un outil compilé sur un Mac et signé par personne en particulier, ce qui est normal pour Homebrew et pour ce que vous compilez vous-même. « Non signé » veut dire aucune signature du tout. En dessous : s’il utilise l’exécution renforcée, s’il tourne dans un sandbox, et chaque droit qui lui a été accordé.
Vitals peut-il me dire si un processus est sûr, ou s’il s’agit d’un logiciel malveillant ?
Il vous donne les faits pour juger : la signature de code, le processus parent, où il se trouve, et ce qu’il fait. Un éditeur connu avec un identifiant d’équipe, un sandbox, et un parent que vous reconnaissez, voilà ce que vous voulez voir. Aucune signature, un chemin dans un dossier caché, et un Launch Agent que vous n’avez jamais installé méritent d’y regarder de plus près. Vitals ne recherche pas les logiciels malveillants ; il vous dit ce qu’il y a.
Qu’est-ce que le temps de traitement, et pourquoi est-il réparti entre utilisateur et système ?
Le temps de traitement est le temps pendant lequel le processus a occupé un cœur depuis son lancement, additionné : un processus à 50 % d’un cœur pendant deux heures a utilisé une heure. Le temps utilisateur est le travail propre du processus ; le temps système est le travail que le noyau a fait pour lui, comme lire des fichiers ou parler au réseau. Une part système élevée sur un processus qui fait peu veut généralement dire qu’il passe son temps à demander des choses à macOS.
Pourquoi certains processus affichent-ils moins de détails que d’autres ?
macOS ne montre la ligne de commande, l’environnement et les totaux depuis le lancement d’un processus qu’à l’utilisateur sous lequel il tourne. Un processus qui appartient à macOS ou à un autre compte les garde pour lui ; son identité, sa signature et ses chiffres s’affichent quand même, les chiffres grâce à l’utilitaire optionnel de Vitals. Activez Mesures système complètes dans Réglages → Général pour les obtenir.
Affiche-t-il les processus de macOS comme WindowServer et kernel_task ?
Oui. Leur app est macOS, leur signature est celle d’Apple, et leur parent est launchd. Avec l’utilitaire activé, leur processeur et leur mémoire s’affichent aussi, et les graphiques du volet tournent tant qu’il est ouvert.
Puis-je voir les variables d’environnement d’un processus ?
Oui, dans la section Environnement à la fin du volet, repliée jusqu’à ce que vous l’ouvriez, et dans Terminal avec vitals process --env. Elles ne sont jamais transmises à un assistant IA, car les environnements contiennent souvent des clés.
Combien de temps Vitals garde-t-il un processus une fois qu’il s’est terminé ?
Dix minutes, dans le volet de l’app, avec son nom, quand il a démarré et s’est terminé, et la mémoire qu’il occupait. Ainsi, un utilitaire qui a planté, ou une compilation qui s’est terminée pendant votre absence, est encore là à voir.
Puis-je obtenir les détails d’un processus dans Terminal, ou depuis un assistant IA ?
Oui. vitals process node ou vitals process 60412 donne les mêmes détails, en texte ou avec --json pour un script ; --env ajoute l’environnement et --plist l’Info.plist de l’app. Un assistant comme Claude, Codex ou Cursor l’obtient par l’outil process_details du serveur MCP de Vitals, Info.plist compris quand il le demande.
Peut-il échantillonner un processus ou prendre un spindump ?
Non. Ce sont des fonctions du Moniteur d’activité, et Vitals ne les copie pas. Vitals répond à ce qu’est un processus, avec sa signature de code, son parent et son utilisation des ressources ; pour la trace d’une app figée, ouvrez le Moniteur d’activité et choisissez Échantillonner l’opération.
À lire ensuite
Les guides qui s’en servent, et Vitals face aux apps qu’on achète pour ça.
- Classement Process Explorer pour Mac : les outils intégrés, et les 5 meilleures apps
- Guide Comment voir l’utilisation du processeur (CPU) et de la mémoire sur un Mac, app par app
- Guide Pourquoi mon Mac est-il si lent ? Trouver la cause, et y remédier
- Guide Claude Code utilise trop de mémoire ou de processeur sur un Mac ? Comment le trouver, et les récupérer
- Classement Les 12 meilleures alternatives au Moniteur d’activité pour Mac
- Comparatif Vitals face au Moniteur d’activité
- Comparatif Vitals face à ProcessSpy
- Comparatif Vitals face à ProcXray
Encore plus de Vitals
Toutes les fonctionnalitésAgents de code
Claude Code, Codex, Gemini CLI et les autres : chaque session avec son projet, ce qu’elle fait et ce qu’elle a lancé.
Limites d’utilisation IA
Ce qu’il reste de Claude, Codex, Copilot et les autres, quand chacun se réinitialise, et si vous tiendrez jusque-là.
Serveur MCP
Votre assistant demande ce qui tourne, quelle app se cache derrière un chiffre et ce qui occupe un port, au lieu de lire une liste de processus.
Lifetime à $15 tant que dure le prix de lancement
Plus que 50 à ce prix. Ensuite $39, ou $9 pour un an de mises à jour. Un seul paiement, remboursement sous 14 jours.
Obtenir Vitals pour $15