Novedades/Vitals 1.9

Vitals 1.9: el inspector de procesos, para cualquier proceso de tu Mac

Atta 🐬

Fundador de Vitals

Publicado

Respuesta rápida

Vitals 1.9 convierte a Vitals en un inspector de procesos además de un monitor de actividad. Haz clic en cualquier proceso de tu Mac y su panel muestra la app a la que pertenece, su firma de código y 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ó. Las apps tienen una tarjeta Detalles con su versión, su ID del paquete y su Info.plist. Todo se guarda como CSV, y los mismos detalles se obtienen en Terminal con vitals process y por MCP.

Haz clic en cualquier proceso para inspeccionarlo

Monitor de Actividad da a un proceso un nombre y un número. En Vitals, haz clic en cualquier proceso y se abre un panel junto a la tabla con todo lo que macOS dice de él, sección por sección.

  1. 01 Haz clic en un proceso de la tabla, o haz clic en una app y luego en cualquier proceso de su panel.
  2. 02 Al pasar el puntero, un proceso del panel de una app muestra una ⓘ junto a su marca de cierre. Abre los mismos detalles.
  3. 03 Haz clic en un proceso principal o en uno secundario del panel para seguirlo.
La pestaña Memoria con un panel abierto en com.docker.backend: su proceso principal, la app que lo abrió, su versión, su línea de comandos y su firma de código La pestaña Memoria con un panel abierto en com.docker.backend: su proceso principal, la app que lo abrió, su versión, su línea de comandos y su firma de código

El recorrido completo está en la página del inspector de procesos.

Comprueba la firma de código y las autorizaciones de cualquier proceso

Un proceso llamado Helper no te dice nada, así que empieza por quién lo compiló. La sección Seguridad da el nombre del desarrollador y el ID del equipo, dice si el proceso usa el tiempo de ejecución reforzado y si se ejecuta en un sandbox, y lista cada autorización que tiene, con su valor.

Un nombre con un ID del equipo es un desarrollador identificado por Apple. “Firmado, sin certificado” es lo normal en Homebrew y en lo que compilas tú mismo. “Sin firmar” significa que no hay firma alguna.

La sección Seguridad de com.docker.backend: firmado por Docker Inc con su ID del equipo, tiempo de ejecución reforzado activado, sin sandbox y sus siete autorizaciones La sección Seguridad de com.docker.backend: firmado por Docker Inc con su ID del equipo, tiempo de ejecución reforzado activado, sin sandbox y sus siete autorizaciones

Proceso principal, Launch Agent y línea de comandos: por qué se está ejecutando

Identidad nombra el proceso principal y la app que lo abrió. Si es un proceso en segundo plano, Arranque nombra el Launch Agent o Launch Daemon que hay detrás, así que este postgres resulta ser el servicio de Homebrew sh.brew.postgresql@17. La ruta del ejecutable y la línea de comandos completa están debajo, y el entorno aparece plegado al final del panel.

El panel de postgres: launchd como proceso principal, Launch Agent sh.brew.postgresql@17 en Arranque, su ejecutable y sus argumentos, firmado sin certificado El panel de postgres: launchd como proceso principal, Launch Agent sh.brew.postgresql@17 en Arranque, su ejecutable y sus argumentos, firmado sin certificado

Tiempo de CPU, pico de memoria, archivos abiertos y puertos: lo que ha usado

Un porcentaje solo habla de este segundo. El panel abarca toda la vida del proceso: el tiempo de CPU dividido en usuario y sistema, la memoria actual frente al máximo que ha llegado a ocupar, los subprocesos, los archivos abiertos, la paginación de entrada y los bytes leídos y escritos. Debajo están los puertos en los que escucha y los procesos secundarios que inició, cada uno a un clic. Una gráfica de su CPU y su memoria avanza mientras el panel está abierto.

Uso de recursos de com.docker.backend: el tiempo de CPU dividido en usuario y sistema, la memoria al 5 % de su pico, los subprocesos, los archivos abiertos, los totales de disco, tres puertos a la escucha y un proceso secundario Uso de recursos de com.docker.backend: el tiempo de CPU dividido en usuario y sistema, la memoria al 5 % de su pico, los subprocesos, los archivos abiertos, los totales de disco, tres puertos a la escucha y un proceso secundario

Una tarjeta Detalles para cada app, con sus procesos debajo

Abre una app y su tarjeta Detalles da la versión, el ID del paquete, la arquitectura, la firma de código, la protección, qué la inicia y dónde está instalada, con el Info.plist completo a un clic.

Sus procesos aparecen debajo, y cada uno abre su propio panel. Uno que se inició hace unos segundos lleva la marca Nuevo, y Finalizados recientemente conserva lo que terminó en los últimos diez minutos, así que un proceso auxiliar que falló o una compilación que terminó mientras no estabas sigue ahí para verla.

El panel de Docker: la tarjeta Detalles con su versión, su ID del paquete y su firma, Finalizados recientemente con dos procesos, y siete procesos, uno marcado como Nuevo El panel de Docker: la tarjeta Detalles con su versión, su ID del paquete y su firma, Finalizados recientemente con dos procesos, y siete procesos, uno marcado como Nuevo

Guárdalo como CSV, o pregunta desde Terminal

El botón de compartir de la cabecera de un panel ofrece Guardar como CSV y Copiar como texto, con el Info.plist, las autorizaciones, el entorno y los procesos incluidos. vitals process da los mismos detalles por nombre o PID. vitals top ahora también puede mirar atrás: dale una hora y te dice qué apps usaron más entonces.

$ vitals process node
$ vitals process 60412 --json
$ vitals process node --env --plist
$ vitals top --at 14:02
$ vitals top --from 14:00 --to 15:30

Vitals guarda las apps por horas durante dos días y por días a partir de entonces, y la respuesta dice qué periodo cubre.

Pregunta a tu asistente de IA por cualquier proceso

Claude, Codex y Cursor pueden preguntar a Vitals por cualquier proceso con la herramienta process_details, y ver las apps detrás de cada pico de tu historial. El entorno nunca se les pasa, porque puede contener claves.

  • ¿Qué es este proceso llamado node y a qué app pertenece?
  • ¿Está firmado el proceso que usa el puerto 3000, y qué lo inició?
  • ¿Qué apps hubo detrás del pico de CPU de las 14:02?

Cinco columnas nuevas, y expresiones regulares en el filtro

Un nuevo menú Columnas en la barra de herramientas añade PID, Usuario, Hora de inicio, Versión y Ruta a la tabla de apps. El filtro también acepta una expresión regular entre barras, como /helper|agent/.

Preguntas frecuentes

¿La 1.9 es una actualización gratuita?

Sí. En Vitals, elige Buscar actualizaciones. Todo lo que trae forma parte de cada licencia.

¿Por qué algunos procesos muestran menos detalles?

macOS solo muestra la línea de comandos, el entorno y los totales de toda la vida de un proceso al usuario con el que se ejecuta. En los procesos de macOS o de otra cuenta, sigues viendo la identidad y la firma de código, y la CPU y la memoria mediante la herramienta auxiliar opcional de Vitals: activa Métricas completas del sistema en Ajustes → General.

¿Puede decirme si un proceso es seguro?

Te da los hechos para juzgar: la firma de código, el proceso principal, dónde está y qué hace. Vitals no busca malware.

¿Puede muestrear un proceso o hacer un spindump?

No. Para el seguimiento de pila de una app colgada, abre Monitor de Actividad y pulsa Muestrear proceso.

Todo lo de 1.9

Vitals 1.9 es una actualización gratuita. En Vitals, elige Buscar actualizaciones, o descárgala desde vitalsmac.com.

Consigue Vitals por $15 ¿Nuevo en Vitals? $15 de por vida durante el lanzamiento, $39 después, en un solo pago, con reembolso en 14 días. O $9 por un año de actualizaciones.
  • Nuevo Inspector de procesos. Monitor de Actividad da a un proceso un nombre y un número. Haz clic en cualquier proceso en Vitals y su panel te dice el resto: la app a la que pertenece, su firma de código y su ID del equipo, el tiempo de ejecución reforzado, el sandbox y las autorizaciones, su proceso principal y su Launch Agent, su línea de comandos completa y su entorno, sus archivos abiertos, sus puertos a la escucha y sus procesos secundarios. Haz clic en un proceso principal o en uno secundario para seguirlo.
  • Nuevo Toda la vida de un proceso, no solo este segundo. El tiempo de CPU desde que se inició, dividido en usuario y sistema, la memoria actual frente a su pico, los subprocesos, la paginación de entrada y los bytes leídos y escritos, con una gráfica en directo de su CPU y su memoria mientras el panel está abierto.
  • Nuevo Una tarjeta Detalles para cada app. El panel de una app ahora muestra su versión, su ID del paquete, su arquitectura, su firma de código, su protección, qué la inicia, cuánto tiempo lleva en marcha y dónde está instalada, con el Info.plist completo a un clic.
  • Nuevo Lo que acaba de iniciarse y lo que acaba de terminar. Haz clic en cualquier proceso del panel de una app para abrir sus detalles. Uno que se inició hace unos segundos lleva la marca Nuevo, y Finalizados recientemente conserva lo que terminó en los últimos diez minutos, con cuánto duró, así que un proceso auxiliar que falló sigue ahí para verlo.
  • Nuevo Cópialo, o guárdalo como CSV. Cualquier panel se puede copiar como texto para un informe de errores o guardar como archivo CSV en Descargas, con el Info.plist, las autorizaciones, el entorno y los procesos incluidos.
  • Nuevo Lo mismo en Terminal y para asistentes de IA. vitals process da los mismos detalles por nombre o PID, como texto o con --json. --env añade el entorno y --plist el Info.plist. Claude, Codex y Cursor los obtienen con la herramienta process_details, sin el entorno, porque puede contener claves.
  • Nuevo Las apps detrás de un pico. vitals top --at 14:02 o --from 14:00 --to 15:30 te dice qué apps usaron más en ese momento, y un asistente que lee tu historial ve las apps junto a cada pico.
  • Mejorado Cinco columnas nuevas. PID, Usuario, Hora de inicio, Versión y Ruta pueden sumarse a la tabla de apps, desde un nuevo menú Columnas en la barra de herramientas.
  • Mejorado Expresiones regulares en el filtro. Escribe un patrón entre barras, como /helper|agent/.

Más