Un inspector de procesos para tu Mac, integrado en tu monitor de actividad.
Haz clic en cualquier proceso y su panel muestra la app a la que pertenece, su firma de código y su ID del equipo, sus autorizaciones, su proceso principal y su Launch Agent, su línea de comandos completa, y el tiempo de CPU, la memoria, los archivos abiertos y los puertos a la escucha que ha usado desde que se inició. Una app añade su versión, su ID del paquete y su Info.plist. Guárdalo como CSV, u obtén lo mismo con vitals process en Terminal.
- Versión
- 156.0.8078.74
- ID del paquete
- com.google.Chrome
- Arquitectura
- Universal · x86_64 · arm64
- Firma
- Google LLC · ID del equipo EQHXZ8M8AV
- Protección
- Tiempo de ejecución reforzadoSin zona protegida
- Usuario
- me
- En ejecución desde hace
- 6h 14m
- Ubicación
- /Applications/Google Chrome.app
- Versión
- 2.15
- ID del paquete
- com.apple.Terminal
- Arquitectura
- Chip de Apple · arm64e
- Firma
- Apple
- Protección
- Sin tiempo de ejecución reforzadoSin zona protegida
- Usuario
- me
- En ejecución desde hace
- 2d 6h
- Ubicación
- /System/Applications/Utilities/Terminal.app
- Versión
- 4.88.1
- ID del paquete
- com.docker.docker
- Arquitectura
- Chip de Apple · arm64
- Firma
- Docker Inc · ID del equipo 9BNSXJN65R
- Protección
- Tiempo de ejecución reforzadoSin zona protegida
- Usuario
- me
- En ejecución desde hace
- 3d 1h
- Ubicación
- /Applications/Docker.app
- Identificador de proceso
- 48190
- Proceso principal
- launchd (1)
- En ejecución desde hace
- 6h 14m
- ID del paquete
- com.google.Chrome
- Versión
- 156.0.8078.74
- Arquitectura
- Universal · x86_64 · arm64
- Firma
- Google LLC · ID del equipo EQHXZ8M8AV
- Tiempo de ejecución reforzado
- Sí
- Zona protegida
- No
- Autorizaciones
- 1
- Tiempo de CPU
- 42m 10s Usuario 32m 54s · 78%Sistema 9m 16s · 22%
- Memoria
- 412 MB · 61% de su máximo de 672 MB
- Subprocesos
- 64
- Archivos abiertos
- 318
- Identificador de proceso
- 48211
- Proceso principal
- Google Chrome (48190)
- Abierto por
- Google Chrome (48190)
- En ejecución desde hace
- 6h 12m
- Versión
- 156.0.8078.74
- Arquitectura
- Universal · x86_64 · arm64
- Argumentos
- --type=renderer --lang=en-US --num-raster-threads=4 --enable-zero-copy
- Firma
- Google LLC · ID del equipo EQHXZ8M8AV
- Tiempo de ejecución reforzado
- Sí
- Zona protegida
- No
- Autorizaciones
- 1
- Tiempo de CPU
- 12m 40s Usuario 10m 23s · 82%Sistema 2m 17s · 18%
- Memoria
- 1,92 GB · 88% de su máximo de 2,18 GB
- Subprocesos
- 23
- Archivos abiertos
- 96
- Identificador de proceso
- 48193
- Proceso principal
- Google Chrome (48190)
- Abierto por
- Google Chrome (48190)
- En ejecución desde hace
- 6h 14m
- Versión
- 156.0.8078.74
- Arquitectura
- Universal · x86_64 · arm64
- Argumentos
- --type=gpu-process --lang=en-US --gpu-preferences=UAAAAAAAAADgAAAEAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAA
- Firma
- Google LLC · ID del equipo EQHXZ8M8AV
- Tiempo de ejecución reforzado
- Sí
- Zona protegida
- No
- Autorizaciones
- 1
- Tiempo de CPU
- 18m 2s Usuario 12m 37s · 70%Sistema 5m 25s · 30%
- GPU
- 3%
- Memoria
- 842 MB · 93% de su máximo de 904 MB
- Subprocesos
- 31
- Archivos abiertos
- 142
- Identificador de proceso
- 48377
- Proceso principal
- Google Chrome (48190)
- Abierto por
- Google Chrome (48190)
- En ejecución desde hace
- 3h 40m
- Versión
- 156.0.8078.74
- Arquitectura
- Universal · x86_64 · arm64
- Argumentos
- --type=renderer --lang=en-US --num-raster-threads=4 --enable-zero-copy
- Firma
- Google LLC · ID del equipo EQHXZ8M8AV
- Tiempo de ejecución reforzado
- Sí
- Zona protegida
- No
- Autorizaciones
- 1
- Tiempo de CPU
- 4m 51s Usuario 4m 2s · 83%Sistema 49s · 17%
- Memoria
- 1,31 GB · 96% de su máximo de 1,36 GB
- Subprocesos
- 21
- Archivos abiertos
- 88
- Identificador de proceso
- 581
- Proceso principal
- launchd (1)
- En ejecución desde hace
- 2d 6h
- ID del paquete
- com.apple.Terminal
- Versión
- 2.15
- Arquitectura
- Chip de Apple · arm64e
- Firma
- Apple
- Tiempo de ejecución reforzado
- No
- Zona protegida
- No
- Autorizaciones
- 6
- Tiempo de CPU
- 3m 12s Usuario 2m 2s · 64%Sistema 1m 10s · 36%
- Memoria
- 148 MB · 71% de su máximo de 208 MB
- Subprocesos
- 12
- Archivos abiertos
- 58
- Identificador de proceso
- 60120
- Proceso principal
- login (60118)
- Abierto por
- Terminal (581)
- En ejecución desde hace
- 2d 5h
- Arquitectura
- Chip de Apple · arm64e
- Argumentos
- -zsh
- Firma
- Apple
- Tiempo de ejecución reforzado
- No
- Zona protegida
- No
- Tiempo de CPU
- 1.2s Usuario 0.7s · 58%Sistema 0.5s · 42%
- Memoria
- 12 MB · 60% de su máximo de 20 MB
- Subprocesos
- 1
- Archivos abiertos
- 8
- Identificador de proceso
- 60412
- Proceso principal
- zsh (60120)
- Abierto por
- Terminal (581)
- En ejecución desde hace
- 2d 4h
- Arquitectura
- Chip de Apple · arm64
- Argumentos
- node_modules/.bin/next dev --port 3000
- Firma
- Node.js Foundation · ID del equipo HX7739G8FX
- Tiempo de ejecución reforzado
- Sí
- Zona protegida
- No
- Tiempo de CPU
- 1h 52m Usuario 1h 42m · 91%Sistema 10m 5s · 9%
- Memoria
- 486 MB · 61% de su máximo de 797 MB
- Subprocesos
- 19
- Archivos abiertos
- 203
- Puertos a la escucha
- 3000
- Identificador de proceso
- 60533
- Proceso principal
- zsh (60120)
- Abierto por
- Terminal (581)
- En ejecución desde hace
- 14s
- Arquitectura
- Chip de Apple · arm64
- Argumentos
- node_modules/.bin/vitest run --coverage
- Firma
- Node.js Foundation · ID del equipo HX7739G8FX
- Tiempo de ejecución reforzado
- Sí
- Zona protegida
- No
- Tiempo de CPU
- 9.1s Usuario 8.0s · 88%Sistema 1.1s · 12%
- Memoria
- 391 MB · 100% de su máximo de 391 MB
- Subprocesos
- 27
- Archivos abiertos
- 412
- Identificador de proceso
- 20288
- Proceso principal
- launchd (1)
- En ejecución desde hace
- 3d 1h
- ID del paquete
- com.docker.docker
- Versión
- 4.88.1
- Arquitectura
- Chip de Apple · arm64
- Firma
- Docker Inc · ID del equipo 9BNSXJN65R
- Tiempo de ejecución reforzado
- Sí
- Zona protegida
- No
- Autorizaciones
- 7
- Tiempo de CPU
- 6m 4s Usuario 4m 31s · 74%Sistema 1m 33s · 26%
- Memoria
- 112 MB · 48% de su máximo de 233 MB
- Subprocesos
- 22
- Archivos abiertos
- 74
- Identificador de proceso
- 20311
- Proceso principal
- Docker (20288)
- Abierto por
- Docker (20288)
- En ejecución desde hace
- 3d 1h
- Versión
- 4.88.1
- Arquitectura
- Chip de Apple · arm64
- Argumentos
- -watchdog -max-restarts 5
- Firma
- Docker Inc · ID del equipo 9BNSXJN65R
- Tiempo de ejecución reforzado
- Sí
- Zona protegida
- No
- Autorizaciones
- 7
- Tiempo de CPU
- 3h 8m Usuario 2h 0m · 64%Sistema 1h 8m · 36%
- Memoria
- 1,57 GB · 77% de su máximo de 2,04 GB
- Subprocesos
- 48
- Archivos abiertos
- 241
- Identificador de proceso
- 20340
- Proceso principal
- com.docker.backend (20311)
- Abierto por
- Docker (20288)
- En ejecución desde hace
- 12s
- Versión
- 4.88.1
- Arquitectura
- Chip de Apple · arm64
- Firma
- Docker Inc · ID del equipo 9BNSXJN65R
- Tiempo de ejecución reforzado
- Sí
- Zona protegida
- No
- Autorizaciones
- 1
- Tiempo de CPU
- 2.0s Usuario 1.6s · 80%Sistema 0.4s · 20%
- Memoria
- 64 MB · 100% de su máximo de 64 MB
- Subprocesos
- 9
- Archivos abiertos
- 31
- Identificador de proceso
- 20318
- Proceso principal
- com.docker.backend (20311)
- Abierto por
- Docker (20288)
- En ejecución desde hace
- 3d 1h
- Versión
- 4.88.1
- Arquitectura
- Chip de Apple · arm64
- Firma
- Docker Inc · ID del equipo 9BNSXJN65R
- Tiempo de ejecución reforzado
- Sí
- Zona protegida
- No
- Autorizaciones
- 3
- Tiempo de CPU
- 1h 4m Usuario 31m 12s · 49%Sistema 32m 48s · 51%
- Memoria
- 38 MB · 73% de su máximo de 52 MB
- Subprocesos
- 14
- Archivos abiertos
- 46
Las cifras son simuladas: una página web no puede leer tu Mac, ni debería.
La app detrás de un proceso, su firma de código y sus autorizaciones.
El panel se abre con la app a la que pertenece un proceso y qué tipo de proceso es: una pestaña del navegador, una extensión, un proceso de GPU, un servidor de desarrollo. Después, su firma de código, con el nombre del desarrollador y el ID del equipo, si usa el tiempo de ejecución reforzado y un sandbox, cada autorización que tiene, y si está compilado para chip de Apple, Intel o ambos y se ejecuta con Rosetta.
- La app a la que pertenece, y si es una pestaña, una extensión o un proceso auxiliar
- La firma de código, con el ID del equipo; los de Apple dicen Apple
- Tiempo de ejecución reforzado, sandbox y cada autorización
- Compilado para chip de Apple, Intel o ambos, y si Rosetta lo ejecuta
El proceso principal, el Launch Agent y la línea de comandos completa.
Cada proceso tiene un proceso principal, y Vitals lo nombra, con la app que lo abrió y, en un proceso en segundo plano, el Launch Agent o Launch Daemon de launchd que lo inicia al iniciar sesión. La línea de comandos completa convierte un simple node o python en el servidor de desarrollo de un proyecto que conoces. Debajo, los procesos secundarios que inició, cada uno a un clic.
- Proceso principal y la app que lo abrió, cada uno un enlace
- El Launch Agent o Launch Daemon que lo inicia al iniciar sesión
- La línea de comandos completa, y su entorno cuando lo abres
- Procesos secundarios, cada uno con sus propias cifras
Tiempo de CPU, pico de memoria, archivos abiertos y puertos a la escucha desde que se inició.
Un porcentaje habla de este segundo. El panel abarca toda la vida del proceso: el tiempo de CPU desde que se inició, dividido entre su propio trabajo y el trabajo del kernel por él; la memoria ahora frente al máximo que ha llegado a ocupar; los subprocesos, los archivos abiertos, la paginación de entrada, los bytes leídos y escritos, y los puertos en los que escucha, con una gráfica en directo de la CPU y la memoria mientras el panel está abierto.
- Tiempo de CPU, dividido en usuario y sistema
- Memoria ahora, como parte de su máximo histórico
- Subprocesos, archivos abiertos, paginación de entrada, disco leído y escrito
- Puertos a la escucha, y gráficas en vivo mientras el panel está abierto
La versión, el ID del paquete y el Info.plist de una app, con cada proceso que tiene debajo.
Abre una app y su tarjeta Detalles da la versión, el ID del paquete, la ubicación, la firma de código y qué la inicia, con el Info.plist completo a un clic. Sus procesos aparecen debajo, cada uno a un clic de sus detalles. Uno que acaba de iniciarse lleva una marca Nuevo, y los que terminaron en los últimos diez minutos siguen en la lista, así que un fallo o un proceso auxiliar que vino y se fue no se pierde.
- Versión, ID del paquete y el Info.plist completo
- Cada proceso, con una marca Nuevo en el que acaba de iniciarse
- Finalizados recientemente: lo que se cerró en los últimos diez minutos
- Elige las columnas de la tabla, y filtra con
/a regex/
Exporta un proceso como CSV, o ejecuta vitals process en Terminal.
Cada panel tiene un menú de exportación: Copiar como texto para un mensaje o un informe de error, Guardar como CSV para una hoja de cálculo, Info.plist y autorizaciones incluidos. En Terminal, vitals process da lo mismo para cualquier proceso por nombre o PID, y un asistente de IA lo obtiene por MCP con la herramienta process_details.
- Copiar como texto, o Guardar como CSV
vitals process node, o por PID, con--jsonpara scripts--envañade el entorno,--plistel Info.plist- La herramienta
process_detailspara Claude, Codex y Cursor por MCP
Inspector de procesos, antes y después
La ventana Inspeccionar de Monitor de Actividad da de un proceso su proceso principal, su usuario, tiempo de CPU, memoria, archivos abiertos y puertos, y una muestra. No dice quién lo firmó, a qué app pertenece un simple node, qué lo inicia al iniciar sesión, ni cuál era la línea de comandos completa. Para eso abres Terminal: codesign para la firma, ps para los argumentos, launchctl para lo que lo inicia, lsof para los puertos y plutil para el Info.plist.
La pregunta suele ser más simple que eso. ¿Qué es esto? Un proceso llamado Helper, un python que nadie recuerda haber iniciado, algo con un nombre como com.apple.something que usa medio núcleo. ¿Es parte de una app que instalé, es de Apple, y debería estar ejecutándose?
Vitals responde en un solo panel: la app a la que pertenece el proceso y qué tipo de proceso es, su firma de código y sus autorizaciones, su proceso principal y su línea de comandos, los procesos que inició, y el tiempo de CPU, la memoria, los archivos y los puertos que ha usado desde que se inició, con la versión, el Info.plist y las autorizaciones plegados debajo. La misma respuesta llega como CSV, como vitals process en Terminal y como herramienta para un asistente de IA.
Dónde está en Vitals
La pestaña, el ítem de la barra de menús y el ajuste, en el orden en que irías a buscarlos.
- 01
Haz clic en cualquier proceso para abrir su panel
En cualquier pestaña, haz clic en una app y luego en uno de sus procesos, o pasa el puntero sobre un proceso en el panel de una app y haz clic en la ⓘ. El panel se abre en él. ⌘F busca un proceso por su nombre, y
/a pattern/busca con una expresión regular. - 02
Lee el panel sección por sección
Identidad, luego App o Ejecutable, Seguridad, Uso de recursos, Disco, Red y Procesos secundarios. Info.plist, Autorizaciones y Entorno están plegados hasta que los abres. El proceso principal, el que lo abrió y cada secundario son enlaces: haz clic en uno para saltar a él.
- 03
Elige las columnas de la tabla de procesos
El botón Columnas de la barra de herramientas añade o quita las columnas de una pestaña: PID, usuario, ruta, versión, hora de inicio, activaciones tras inactividad y las lecturas. Cada pestaña conserva su propia elección.
- 04
Cópialo, guárdalo como CSV, o pregunta en Terminal
El botón de compartir en la cabecera del panel ofrece Copiar como texto y Guardar como CSV. En Terminal,
vitals process <name>ovitals process <pid>, con--json,--envo--plist. Por MCP, la herramientaprocess_details.
Inspector de procesos: Monitor de Actividad y Vitals
La comparativa completa va fila por fila. Estas son las filas sobre inspector de procesos.
codesign en Terminalvitals process --jsonLos términos que hay detrás
Qué significan las cifras, según el glosario de Monitor de Actividad.
- PID
Un PID, o ID de proceso, es un número que macOS asigna a cada proceso en ejecución para identificarlo.
- launchd
launchd es el primer proceso que macOS inicia al arrancar, con el identificador de proceso 1.
- Procesos auxiliares
Los procesos auxiliares son procesos separados que una app inicia para hacer parte de su trabajo, como mostrar páginas web, ejecutar extensiones o encargarse de los gráficos.
- Subprocesos
Un subproceso (thread) es una línea de ejecución independiente dentro de un proceso, y un proceso puede ejecutar varios subprocesos a la vez en distintos núcleos de la CPU.
- Puerto a la escucha
Un puerto a la escucha es un puerto de red en el que un proceso espera conexiones entrantes, como un servidor web en el puerto 3000.
- WindowServer
WindowServer es el proceso del sistema macOS que gestiona las ventanas, compone lo que dibujan las apps en la imagen final de tus pantallas y dirige los eventos de entrada, como clics y pulsaciones de teclas, a la app correcta.
- Muestrear proceso
“Muestrear proceso” es una herramienta de Monitor de Actividad que registra lo que hace el proceso seleccionado durante unos segundos y genera un informe de texto con dónde pasan el tiempo sus subprocesos.
- Forzar salida
Forzar salida cierra una app o un proceso al instante, sin dejar que guarde ni que ordene nada.
Preguntas
Lo que la gente pregunta sobre inspector de procesos antes de comprar.
¿Cómo abro el inspector de procesos?
Haz clic en un proceso en cualquier lista y se abre su panel. En el panel de una app, cada proceso es una fila: haz clic en una, o en la ⓘ que aparece a su lado al pasar el puntero. Pulsa ⌘F para buscar un proceso por su nombre, y escribe /a pattern/ para buscar con una expresión regular.
¿Qué me dice la firma de código de un proceso?
Quién compiló el código. Un nombre con un ID del equipo es un desarrollador identificado por Apple, como Google LLC o Docker Inc. Los procesos de Apple dicen Apple. “Firmado, sin certificado” es una herramienta compilada en un Mac y firmada por nadie en particular, lo normal en Homebrew y en lo que compilas tú mismo. “Sin firmar” significa que no hay firma alguna. Debajo: si usa el tiempo de ejecución reforzado, si se ejecuta en un sandbox, y cada autorización que se le concedió.
¿Puede Vitals decirme si un proceso es seguro, o si es malware?
Te da los hechos para juzgar: la firma de código, el proceso principal, dónde está y qué hace. Un fabricante conocido con ID del equipo, un sandbox y un proceso principal que reconoces es lo que quieres ver. Sin firma, una ruta en una carpeta oculta y un Launch Agent que nunca instalaste merecen mirarse más de cerca. Vitals no busca malware; te dice lo que hay.
¿Qué es el tiempo de CPU, y por qué está dividido en usuario y sistema?
El tiempo de CPU es cuánto tiempo ha tenido ocupado un núcleo el proceso desde que se inició, sumado: un proceso al 50 % de un núcleo durante dos horas ha usado una hora. El tiempo de usuario es el trabajo propio del proceso; el tiempo de sistema es el trabajo que el kernel hizo por él, como leer archivos o hablar con la red. Una parte de sistema alta en un proceso que hace poco suele significar que se pasa el tiempo pidiéndole cosas a macOS.
¿Por qué algunos procesos muestran menos detalles que otros?
macOS muestra la línea de comandos, el entorno y los totales desde el inicio de un proceso solo al usuario con el que se ejecuta. Un proceso que pertenece a macOS o a otra cuenta se los guarda; su identidad, su firma y sus cifras siguen mostrándose, las cifras a través del proceso auxiliar opcional de Vitals. Activa Métricas completas del sistema en Ajustes → General para tenerlos.
¿Muestra procesos de macOS como WindowServer y kernel_task?
Sí. Su app es macOS, su firma es la de Apple y su proceso principal es launchd. Con el proceso auxiliar activado, su CPU y su memoria también se muestran, y las gráficas del panel corren mientras está abierto.
¿Puedo ver las variables de entorno de un proceso?
Sí, en la sección Entorno al final del panel, plegada hasta que la abres, y en Terminal con vitals process --env. Nunca se pasan a un asistente de IA, porque los entornos suelen contener claves.
¿Cuánto tiempo conserva Vitals un proceso después de que haya terminado?
Diez minutos, en el panel de la app, con su nombre, cuándo se inició y terminó, y la memoria que ocupaba. Así, un proceso auxiliar que falló, o una compilación que terminó mientras no estabas, sigue ahí para verla.
¿Puedo obtener los detalles de un proceso en Terminal, o desde un asistente de IA?
Sí. vitals process node o vitals process 60412 da los mismos detalles, como texto o con --json para un script; --env añade el entorno y --plist el Info.plist de la app. Un asistente como Claude, Codex o Cursor lo obtiene con la herramienta process_details del servidor MCP de Vitals, Info.plist incluido cuando lo pide.
¿Puede muestrear un proceso o hacer un spindump?
No. Eso es de Monitor de Actividad, y Vitals no lo copia. Vitals responde qué es un proceso, con su firma de código, su proceso principal y su uso de recursos; para el seguimiento de pila de una app colgada, abre Monitor de Actividad y pulsa Muestrear proceso.
Sigue leyendo
Guías que lo usan y cómo se compara Vitals con las apps que la gente compra para esto.
- Clasificación Process Explorer para Mac: las herramientas que vienen incluidas y las 5 mejores apps
- Guía Cómo ver el uso de CPU y memoria en un Mac, app por app
- Guía ¿Por qué mi Mac va tan lento? Cómo encontrar la causa y solucionarlo
- Guía ¿Claude Code usa demasiada memoria o CPU en un Mac? Cómo encontrarlo y recuperarla
- Clasificación Las 12 mejores alternativas a Monitor de Actividad para Mac
- Comparativa Vitals frente a Monitor de Actividad
- Comparativa Vitals frente a ProcessSpy
- Comparativa Vitals frente a ProcXray
Más de Vitals
Todas las funcionesAgentes de código
Claude Code, Codex, Gemini CLI y los demás: cada sesión con su proyecto, lo que está haciendo y lo que inició.
Límites de uso de IA
Cuánto queda de Claude, Codex, Copilot y los demás, cuándo se reinicia cada uno y si llegarás hasta entonces.
Servidor MCP
Tu asistente pregunta qué se está ejecutando, qué app hay detrás de una cifra y qué hay en un puerto, en lugar de leer una lista de procesos.
Lifetime por $15 mientras dure el precio de lanzamiento
Quedan 50 a este precio. Después $39, o $9 por un año de actualizaciones. Un solo pago, reembolso en 14 días.
Consigue Vitals por $15