Um inspetor de processos para o seu Mac, integrado ao seu monitor de atividade.
Clique em qualquer processo e o painel dele mostra o app a que pertence, a assinatura de código e o ID da Equipe, os direitos, o processo principal e o Launch Agent, a linha de comando completa, e o tempo da CPU, a memória, os arquivos abertos e as portas em escuta que ele usou desde que foi iniciado. Um app acrescenta a versão, o ID do pacote e o Info.plist. Salve como CSV, ou obtenha o mesmo com vitals process no Terminal.
- Versão
- 156.0.8078.74
- ID do Pacote
- com.google.Chrome
- Arquitetura
- Universal · x86_64 · arm64
- Assinatura
- Google LLC · ID da Equipe EQHXZ8M8AV
- Proteção
- Runtime ReforçadoSem sandbox
- Usuário
- me
- Em execução há
- 6h 14m
- Local
- /Applications/Google Chrome.app
- Versão
- 2.15
- ID do Pacote
- com.apple.Terminal
- Arquitetura
- Apple Silicon · arm64e
- Assinatura
- Apple
- Proteção
- Sem Runtime ReforçadoSem sandbox
- Usuário
- me
- Em execução há
- 2d 6h
- Local
- /System/Applications/Utilities/Terminal.app
- Versão
- 4.88.1
- ID do Pacote
- com.docker.docker
- Arquitetura
- Apple Silicon · arm64
- Assinatura
- Docker Inc · ID da Equipe 9BNSXJN65R
- Proteção
- Runtime ReforçadoSem sandbox
- Usuário
- me
- Em execução há
- 3d 1h
- Local
- /Applications/Docker.app
- ID do Processo
- 48190
- Processo Principal
- launchd (1)
- Em execução há
- 6h 14m
- ID do Pacote
- com.google.Chrome
- Versão
- 156.0.8078.74
- Arquitetura
- Universal · x86_64 · arm64
- Assinatura
- Google LLC · ID da Equipe EQHXZ8M8AV
- Runtime Reforçado
- Sim
- Sandbox
- Não
- Direitos
- 1
- Tempo da CPU
- 42m 10s Usuário 32m 54s · 78%Sistema 9m 16s · 22%
- Memória
- 412 MB · 61% do pico de 672 MB
- Threads
- 64
- Arquivos Abertos
- 318
- ID do Processo
- 48211
- Processo Principal
- Google Chrome (48190)
- Aberto por
- Google Chrome (48190)
- Em execução há
- 6h 12m
- Versão
- 156.0.8078.74
- Arquitetura
- Universal · x86_64 · arm64
- Argumentos
- --type=renderer --lang=en-US --num-raster-threads=4 --enable-zero-copy
- Assinatura
- Google LLC · ID da Equipe EQHXZ8M8AV
- Runtime Reforçado
- Sim
- Sandbox
- Não
- Direitos
- 1
- Tempo da CPU
- 12m 40s Usuário 10m 23s · 82%Sistema 2m 17s · 18%
- Memória
- 1,92 GB · 88% do pico de 2,18 GB
- Threads
- 23
- Arquivos Abertos
- 96
- ID do Processo
- 48193
- Processo Principal
- Google Chrome (48190)
- Aberto por
- Google Chrome (48190)
- Em execução há
- 6h 14m
- Versão
- 156.0.8078.74
- Arquitetura
- Universal · x86_64 · arm64
- Argumentos
- --type=gpu-process --lang=en-US --gpu-preferences=UAAAAAAAAADgAAAEAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAA
- Assinatura
- Google LLC · ID da Equipe EQHXZ8M8AV
- Runtime Reforçado
- Sim
- Sandbox
- Não
- Direitos
- 1
- Tempo da CPU
- 18m 2s Usuário 12m 37s · 70%Sistema 5m 25s · 30%
- GPU
- 3%
- Memória
- 842 MB · 93% do pico de 904 MB
- Threads
- 31
- Arquivos Abertos
- 142
- ID do Processo
- 48377
- Processo Principal
- Google Chrome (48190)
- Aberto por
- Google Chrome (48190)
- Em execução há
- 3h 40m
- Versão
- 156.0.8078.74
- Arquitetura
- Universal · x86_64 · arm64
- Argumentos
- --type=renderer --lang=en-US --num-raster-threads=4 --enable-zero-copy
- Assinatura
- Google LLC · ID da Equipe EQHXZ8M8AV
- Runtime Reforçado
- Sim
- Sandbox
- Não
- Direitos
- 1
- Tempo da CPU
- 4m 51s Usuário 4m 2s · 83%Sistema 49s · 17%
- Memória
- 1,31 GB · 96% do pico de 1,36 GB
- Threads
- 21
- Arquivos Abertos
- 88
- ID do Processo
- 581
- Processo Principal
- launchd (1)
- Em execução há
- 2d 6h
- ID do Pacote
- com.apple.Terminal
- Versão
- 2.15
- Arquitetura
- Apple Silicon · arm64e
- Assinatura
- Apple
- Runtime Reforçado
- Não
- Sandbox
- Não
- Direitos
- 6
- Tempo da CPU
- 3m 12s Usuário 2m 2s · 64%Sistema 1m 10s · 36%
- Memória
- 148 MB · 71% do pico de 208 MB
- Threads
- 12
- Arquivos Abertos
- 58
- ID do Processo
- 60120
- Processo Principal
- login (60118)
- Aberto por
- Terminal (581)
- Em execução há
- 2d 5h
- Arquitetura
- Apple Silicon · arm64e
- Argumentos
- -zsh
- Assinatura
- Apple
- Runtime Reforçado
- Não
- Sandbox
- Não
- Tempo da CPU
- 1.2s Usuário 0.7s · 58%Sistema 0.5s · 42%
- Memória
- 12 MB · 60% do pico de 20 MB
- Threads
- 1
- Arquivos Abertos
- 8
- ID do Processo
- 60412
- Processo Principal
- zsh (60120)
- Aberto por
- Terminal (581)
- Em execução há
- 2d 4h
- Arquitetura
- Apple Silicon · arm64
- Argumentos
- node_modules/.bin/next dev --port 3000
- Assinatura
- Node.js Foundation · ID da Equipe HX7739G8FX
- Runtime Reforçado
- Sim
- Sandbox
- Não
- Tempo da CPU
- 1h 52m Usuário 1h 42m · 91%Sistema 10m 5s · 9%
- Memória
- 486 MB · 61% do pico de 797 MB
- Threads
- 19
- Arquivos Abertos
- 203
- Portas em Escuta
- 3000
- ID do Processo
- 60533
- Processo Principal
- zsh (60120)
- Aberto por
- Terminal (581)
- Em execução há
- 14s
- Arquitetura
- Apple Silicon · arm64
- Argumentos
- node_modules/.bin/vitest run --coverage
- Assinatura
- Node.js Foundation · ID da Equipe HX7739G8FX
- Runtime Reforçado
- Sim
- Sandbox
- Não
- Tempo da CPU
- 9.1s Usuário 8.0s · 88%Sistema 1.1s · 12%
- Memória
- 391 MB · 100% do pico de 391 MB
- Threads
- 27
- Arquivos Abertos
- 412
- ID do Processo
- 20288
- Processo Principal
- launchd (1)
- Em execução há
- 3d 1h
- ID do Pacote
- com.docker.docker
- Versão
- 4.88.1
- Arquitetura
- Apple Silicon · arm64
- Assinatura
- Docker Inc · ID da Equipe 9BNSXJN65R
- Runtime Reforçado
- Sim
- Sandbox
- Não
- Direitos
- 7
- Tempo da CPU
- 6m 4s Usuário 4m 31s · 74%Sistema 1m 33s · 26%
- Memória
- 112 MB · 48% do pico de 233 MB
- Threads
- 22
- Arquivos Abertos
- 74
- ID do Processo
- 20311
- Processo Principal
- Docker (20288)
- Aberto por
- Docker (20288)
- Em execução há
- 3d 1h
- Versão
- 4.88.1
- Arquitetura
- Apple Silicon · arm64
- Argumentos
- -watchdog -max-restarts 5
- Assinatura
- Docker Inc · ID da Equipe 9BNSXJN65R
- Runtime Reforçado
- Sim
- Sandbox
- Não
- Direitos
- 7
- Tempo da CPU
- 3h 8m Usuário 2h 0m · 64%Sistema 1h 8m · 36%
- Memória
- 1,57 GB · 77% do pico de 2,04 GB
- Threads
- 48
- Arquivos Abertos
- 241
- ID do Processo
- 20340
- Processo Principal
- com.docker.backend (20311)
- Aberto por
- Docker (20288)
- Em execução há
- 12s
- Versão
- 4.88.1
- Arquitetura
- Apple Silicon · arm64
- Assinatura
- Docker Inc · ID da Equipe 9BNSXJN65R
- Runtime Reforçado
- Sim
- Sandbox
- Não
- Direitos
- 1
- Tempo da CPU
- 2.0s Usuário 1.6s · 80%Sistema 0.4s · 20%
- Memória
- 64 MB · 100% do pico de 64 MB
- Threads
- 9
- Arquivos Abertos
- 31
- ID do Processo
- 20318
- Processo Principal
- com.docker.backend (20311)
- Aberto por
- Docker (20288)
- Em execução há
- 3d 1h
- Versão
- 4.88.1
- Arquitetura
- Apple Silicon · arm64
- Assinatura
- Docker Inc · ID da Equipe 9BNSXJN65R
- Runtime Reforçado
- Sim
- Sandbox
- Não
- Direitos
- 3
- Tempo da CPU
- 1h 4m Usuário 31m 12s · 49%Sistema 32m 48s · 51%
- Memória
- 38 MB · 73% do pico de 52 MB
- Threads
- 14
- Arquivos Abertos
- 46
Os números são simulados: uma página web não pode ler o seu Mac, e nem deveria.
O app por trás de um processo, a assinatura de código e os direitos dele.
O painel abre com o app a que o processo pertence e o tipo de processo que é: uma aba do navegador, uma extensão, um processo de GPU, um servidor de desenvolvimento. Depois, a assinatura de código, com o nome do desenvolvedor e o ID da Equipe, se ele usa o runtime reforçado e um sandbox, cada direito que ele tem, e se foi compilado para Apple silicon, Intel ou ambos e se o Rosetta o está executando.
- O app a que pertence, e se é uma aba, uma extensão ou um auxiliar
- A assinatura de código, com o ID da Equipe; os da Apple dizem Apple
- Runtime reforçado, sandbox e cada direito
- Compilado para Apple Silicon, Intel ou ambos, e se o Rosetta o executa
O processo principal, o Launch Agent e a linha de comando completa.
Todo processo tem um processo principal, e o Vitals diz qual é, com o app que o abriu e, para um processo em segundo plano, o Launch Agent ou Launch Daemon do launchd que o inicia no login. A linha de comando completa transforma um simples node ou python no servidor de desenvolvimento de um projeto que você conhece. Abaixo, os processos secundários que ele iniciou, cada um a um clique.
- Processo principal e o app que o abriu, cada um um link
- O Launch Agent ou Launch Daemon que o inicia no login
- A linha de comando completa, e o ambiente dele quando você abre
- Processos secundários, cada um com os próprios números
Tempo da CPU, pico de memória, arquivos abertos e portas em escuta desde que foi iniciado.
Uma porcentagem fala deste segundo. O painel cobre a vida inteira do processo: o tempo da CPU desde o início, dividido entre o trabalho do próprio processo e o que o kernel fez por ele; a memória agora em relação ao máximo que ele já ocupou; threads, arquivos abertos, páginas de entrada, bytes lidos e gravados e as portas em que ele escuta, com um gráfico ao vivo da CPU e da memória enquanto o painel está aberto.
- Tempo da CPU, dividido em usuário e sistema
- Memória agora, como parcela do pico desde o início
- Threads, arquivos abertos, páginas de entrada, disco lido e gravado
- Portas em escuta, e gráficos ao vivo enquanto o painel está aberto
A versão, o ID do pacote e o Info.plist de um app, com cada processo dele.
Abra um app e o cartão Detalhes dele mostra a versão, o ID do pacote, o local, a assinatura de código e o que o inicia, com o Info.plist inteiro a um clique. Os processos dele ficam listados abaixo, cada um a um clique dos seus detalhes. Um que acabou de começar leva uma marca Novo, e os que encerraram nos últimos dez minutos continuam listados, então um travamento ou um auxiliar que veio e foi não se perde.
- Versão, ID do pacote e o Info.plist inteiro
- Cada processo, com uma marca Novo no que acabou de começar
- Encerrados Recentemente: o que fechou nos últimos dez minutos
- Escolha as colunas da tabela, e filtre com
/a regex/
Exporte um processo como CSV, ou rode vitals process no Terminal.
Todo painel tem um menu de exportação: Copiar como Texto para uma mensagem ou um relato de bug, Salvar como CSV para uma planilha, Info.plist e direitos incluídos. No Terminal, vitals process dá o mesmo para qualquer processo por nome ou PID, e um assistente de IA obtém isso via MCP pela ferramenta process_details.
- Copiar como Texto, ou Salvar como CSV
vitals process node, ou por PID, com--jsonpara scripts--envacrescenta o ambiente,--plisto Info.plist- A ferramenta
process_detailspara Claude, Codex e Cursor via MCP
Inspetor de Processos: antes e depois
A janela Inspecionar do Monitor de Atividade dá a um processo o processo principal, o usuário, o tempo da CPU, a memória, os arquivos abertos e as portas, e uma amostra. Ela não diz quem o assinou, a que app um simples node pertence, o que o inicia no login, nem qual era a linha de comando completa. Para isso você abre o Terminal: codesign para a assinatura, ps para os argumentos, launchctl para o que o inicia, lsof para as portas e plutil para o Info.plist.
A pergunta costuma ser mais simples que isso. O que é isto? Um processo chamado Helper, um python que ninguém lembra de ter iniciado, algo com um nome como com.apple.something usando meio núcleo. Faz parte de um app que instalei, é da Apple, e deveria estar rodando?
O Vitals responde em um só painel: o app a que o processo pertence e o tipo de processo que é, a assinatura de código e os direitos, o processo principal e a linha de comando, os processos que ele iniciou, e o tempo da CPU, a memória, os arquivos e as portas que ele usou desde que foi iniciado, com a versão, o Info.plist e os direitos recolhidos abaixo. A mesma resposta vem como CSV, como vitals process no Terminal e como ferramenta para um assistente de IA.
Onde fica no Vitals
A aba, o item da barra de menus e o ajuste, na ordem em que você os procuraria.
- 01
Clique em qualquer processo para abrir o painel dele
Em qualquer aba, clique em um app e depois em um dos processos dele, ou passe o mouse sobre um processo no painel de um app e clique no ⓘ. O painel abre nele. ⌘F encontra um processo pelo nome, e
/a pattern/busca com uma expressão regular. - 02
Leia o painel seção por seção
Identidade, depois App ou Executável, Segurança, Uso de Recursos, Disco, Rede e Processos Secundários. Info.plist, Direitos e Ambiente ficam recolhidos até você abrir. O processo principal, quem o abriu e cada secundário são links: clique em um para ir até ele.
- 03
Escolha as colunas da tabela de processos
O botão Colunas na barra de ferramentas adiciona ou remove as colunas de uma aba: PID, usuário, caminho, versão, hora de início, ativações durante ociosidade e as leituras. Cada aba guarda a própria escolha.
- 04
Copie, salve como CSV, ou peça no Terminal
O botão de compartilhar no cabeçalho do painel oferece Copiar como Texto e Salvar como CSV. No Terminal,
vitals process <name>ouvitals process <pid>, com--json,--envou--plist. Via MCP, a ferramentaprocess_details.
Inspetor de Processos: Monitor de Atividade e Vitals
A comparação completa vai linha por linha. Estas são as linhas sobre inspetor de Processos.
codesign no Terminalvitals process --jsonOs termos por trás
O que os números significam, segundo o glossário do Monitor de Atividade.
- PID
Um PID, ou ID do processo, é um número que o macOS atribui a cada processo em execução para identificá-lo.
- launchd
launchd é o primeiro processo que o macOS inicia no boot, com o ID de processo 1.
- Processos auxiliares
Processos auxiliares são processos separados que um app inicia para fazer parte do trabalho dele, como renderizar páginas web, executar extensões ou cuidar dos gráficos.
- Threads
Uma thread é uma linha de execução separada dentro de um processo, e um processo pode rodar várias threads ao mesmo tempo em núcleos diferentes da CPU.
- Porta em escuta
Uma porta em escuta é uma porta de rede em que um processo está esperando conexões de entrada, como um servidor web na porta 3000.
- WindowServer
WindowServer é o processo do sistema macOS que gerencia as janelas, combina o que os apps desenham na imagem final das suas telas e encaminha eventos de entrada, como cliques e teclas pressionadas, para o app certo.
- Extrair Amostra do Processo
Extrair Amostra do Processo é uma ferramenta do Monitor de Atividade que registra o que um processo selecionado está fazendo durante alguns segundos e gera um relatório em texto de onde as threads dele passam o tempo.
- Forçar Encerrar
Forçar Encerrar termina um app ou processo na hora, sem deixar que ele salve ou faça a limpeza.
Dúvidas
As perguntas que as pessoas fazem sobre inspetor de Processos antes de comprar.
Como abro o Inspetor de Processos?
Clique em um processo em qualquer lista e o painel dele abre. No painel de um app, cada processo é uma linha: clique em uma, ou no ⓘ que aparece ao lado quando você passa o mouse. Pressione ⌘F para encontrar um processo pelo nome, e digite /a pattern/ para buscar com uma expressão regular.
O que a assinatura de código de um processo me diz?
Quem compilou o código. Um nome com ID da Equipe é um desenvolvedor identificado pela Apple, como Google LLC ou Docker Inc. Os processos da própria Apple dizem Apple. “Assinado, sem certificado” é uma ferramenta compilada em um Mac e assinada por ninguém em particular, o que é normal para o Homebrew e para o que você mesmo compila. “Não assinado” significa nenhuma assinatura. Abaixo: se ele usa o runtime reforçado, se roda em um sandbox, e cada direito que lhe foi concedido.
O Vitals pode me dizer se um processo é seguro, ou se é malware?
Ele dá os fatos para você julgar: a assinatura de código, o processo principal, onde ele fica e o que está fazendo. Um fabricante conhecido com ID da Equipe, um sandbox e um processo principal que você reconhece é o que você quer ver. Sem assinatura, um caminho em uma pasta oculta e um Launch Agent que você nunca instalou merecem um olhar mais atento. O Vitals não procura malware; ele diz o que está lá.
O que é o tempo da CPU, e por que está dividido em usuário e sistema?
O tempo da CPU é quanto tempo o processo manteve um núcleo ocupado desde que foi iniciado, somado: um processo a 50% de um núcleo por duas horas usou uma hora. O tempo de usuário é o trabalho do próprio processo; o tempo de sistema é o trabalho que o kernel fez por ele, como ler arquivos ou falar com a rede. Uma parcela de sistema alta em um processo que faz pouco geralmente significa que ele está ocupado pedindo coisas ao macOS.
Por que alguns processos mostram menos detalhes que outros?
O macOS mostra a linha de comando, o ambiente e os totais desde o início de um processo só ao usuário com o qual ele roda. Um processo que pertence ao macOS ou a outra conta guarda isso para si; a identidade, a assinatura e os números ainda aparecem, os números pelo processo auxiliar opcional do Vitals. Ative Métricas Completas do Sistema em Ajustes → Geral para obtê-los.
Ele mostra processos do macOS como WindowServer e kernel_task?
Sim. O app deles é o macOS, a assinatura é da Apple e o processo principal é o launchd. Com o auxiliar ativado, a CPU e a memória deles aparecem também, e os gráficos do painel rodam enquanto ele está aberto.
Posso ver as variáveis de ambiente de um processo?
Sim, na seção Ambiente no fim do painel, recolhida até você abrir, e no Terminal com vitals process --env. Elas nunca são passadas a um assistente de IA, já que ambientes costumam guardar chaves.
Por quanto tempo o Vitals mantém um processo depois que ele encerra?
Dez minutos, no painel do app, com o nome, quando começou e encerrou, e a memória que ocupava. Assim, um auxiliar que travou, ou uma compilação que terminou enquanto você estava longe, ainda está lá para ver.
Posso ver os detalhes de um processo no Terminal, ou por um assistente de IA?
Sim. vitals process node ou vitals process 60412 dá os mesmos detalhes, como texto ou com --json para um script; --env acrescenta o ambiente e --plist o Info.plist do app. Um assistente como Claude, Codex ou Cursor obtém isso pela ferramenta process_details do servidor MCP do Vitals, Info.plist incluído quando ele pede.
Ele pode extrair uma amostra de um processo ou fazer um spindump?
Não. Isso é do Monitor de Atividade, e o Vitals não copia. O Vitals responde o que um processo é, com a assinatura de código, o processo principal e o uso de recursos; para o stack trace de um app travado, abra o Monitor de Atividade e use Extrair Amostra do Processo.
Leia também
Guias que usam isto, e como o Vitals se compara aos apps que as pessoas compram para isso.
- Ranking Process Explorer para Mac: as ferramentas que já vêm no sistema e os 5 melhores apps
- Guia Como ver o uso de CPU e memória no Mac, app por app
- Guia Por que meu Mac está tão lento? Como descobrir a causa e resolver
- Guia Claude Code usando memória ou CPU demais no Mac? Como achar a causa e recuperar
- Ranking As 12 melhores alternativas ao Monitor de Atividade para Mac
- Comparação Vitals vs. Monitor de Atividade
- Comparação Vitals vs. ProcessSpy
- Comparação Vitals vs. ProcXray
Mais do Vitals
Todos os recursosAgentes de código
Claude Code, Codex, Gemini CLI e os outros: cada sessão com o projeto, o que está fazendo e o que iniciou.
Limites de uso de IA
Quanto resta do Claude, do Codex, do Copilot e dos outros, quando cada um reinicia e se você vai chegar até lá.
Servidor MCP
O seu assistente pergunta o que está em execução, qual app está por trás de um número e o que está em uma porta, em vez de ler uma lista de processos.
Lifetime por $15 enquanto durar o preço de lançamento
Restam 50 por este preço. Depois $39, ou $9 por um ano de atualizações. Pagamento único, reembolso em 14 dias.
Comprar o Vitals por $15