Glossário/Quando algo dá errado
PID
Também: ID do processo
Resposta rápida
Um PID, ou ID do processo, é um número que o macOS atribui a cada processo em execução para identificá-lo. Dois processos em execução nunca têm o mesmo PID, mas um número pode ser reutilizado depois que o processo dele termina.
O Monitor de Atividade mostra o PID em uma coluna própria. Comandos do Terminal como kill, sample e lsof usam o PID para saber de qual processo você está falando, já que vários processos podem ter o mesmo nome.
No macOS, o PID 0 é o kernel_task e o PID 1 é o launchd, o primeiro processo, que inicia o resto do sistema. Os apps que você abre recebem números mais altos, e um PID novo a cada vez que são abertos.
Como encontrar o PID de um app
No Monitor de Atividade, encontre o app na lista e leia a coluna PID. Se a coluna estiver oculta, escolha Visualizar > Colunas > PID.
No Terminal, pgrep -l Safari lista os processos correspondentes com os PIDs deles. ps -p <PID> -o pid,ppid,comm mostra o nome de um processo e o PID do processo principal dele.
O que o PID do processo principal diz
Todo processo, exceto o primeiro de todos, tem um processo principal, aquele que o iniciou. Escolher Visualizar > Todos os Processos, Hierarquicamente no Monitor de Atividade mostra essas relações entre processos principais e secundários como uma árvore.
Como encontrar um PID no Terminal
Os nomes de processos no Terminal podem ser diferentes dos nomes dos apps. Muitos apps rodam processos auxiliares com nomes como “App Helper (Renderer)”, cada um com o seu PID.
- Abra o Terminal em Aplicativos > Utilitários.
- Execute
pgrep -lx Finderpara obter o PID de um processo cujo nome é exatamente Finder. Deixe de fora oxpara buscar parte de um nome. - Se um app tem vários processos, execute
pgrep -lf "Google Chrome"para buscar na linha de comando completa. - Para ver o PID do seu próprio shell, execute
echo $$.
Como descobrir a qual app um PID pertence
Mensagens de erro e arquivos de registro muitas vezes citam um PID sem nome. Para descobrir, execute ps -p <PID> -o pid,ppid,user,command. Ele mostra o caminho completo do programa, qual usuário o executa e o PID do processo principal dele.
No Monitor de Atividade, clique no cabeçalho da coluna PID para ordenar por ela e role até o número. Clique duas vezes no processo para abrir a janela de informações dele, que também mostra o processo principal.
Se ps não mostrar nada, o processo já saiu.
O que dá para fazer com um PID
Confira o nome primeiro com ps -p <PID>. Os PIDs são reutilizados, então um número que você copiou antes pode agora pertencer a outro processo.
kill <PID>pede ao processo para encerrar.kill -9 <PID>o termina na hora.sample <PID> 5registra o que o processo está fazendo por 5 segundos.lsof -p <PID>lista os arquivos e as conexões de rede que ele tem abertos.lsof -a -p <PID> -d cwdmostra a pasta em que ele está rodando.top -pid <PID>mostra o uso de CPU e de memória dele ao vivo. Pressione q para sair.
Quando usar um PID em vez de um nome
Os comandos que agem pelo nome, como killall Safari ou pkill Safari, atuam em todos os processos que correspondem. Por padrão, killall envia o sinal de encerrar a todos os processos correspondentes que são seus, e pkill encontra qualquer processo cujo nome contenha o texto que você digitar.
Isso funciona para um único app, mas é arriscado quando muitos processos têm o mesmo nome. Um navegador pode rodar dezenas de processos auxiliares, e várias cópias de node ou python podem pertencer a projetos diferentes. Um PID aponta exatamente para um processo, então use-o quando quiser parar um e deixar os outros rodando.
Se usar um nome, veja antes quais processos correspondem. pgrep -l <name> lista em quais pkill atuaria, e killall -d <name> mostra o que killall faria sem enviar nada.
Perguntas frequentes
O que significa PID no Monitor de Atividade?
PID quer dizer ID do processo. É um número único para cada processo em execução, usado para distinguir os processos e para indicá-los nos comandos do Terminal.
Um app mantém sempre o mesmo PID?
Só enquanto está aberto. Quando você encerra e abre o app de novo, ele recebe um PID novo.
O que é o PID 1 no Mac?
O PID 1 é o launchd, o processo que inicia e gerencia os outros processos no macOS. Ele nunca deve ser encerrado.
Como matar um processo pelo PID no Mac?
Execute kill <PID> no Terminal. Se ele não sair, kill -9 <PID> o termina na hora, o que pode fazer perder dados não salvos.
Dois processos podem ter o mesmo PID?
Não ao mesmo tempo. Um PID pode ser dado a um novo processo depois que o antigo sai.
O que é o PID 0 no Monitor de Atividade?
O PID 0 é o kernel_task, que representa o kernel do macOS. Ele não pode ser encerrado.
Relacionados
Vem do Windows? Veja Gerenciador de Tarefas para Mac ou as melhores alternativas ao Monitor de Atividade. Ou navegue por todos os termos do glossário.