Para administradores de sistema, ps
é uma ferramenta usada com freqüência. É usado para listar os processos em execução no sistema com uma variedade de modos de filtro e exibição disponíveis por meio de sinalizadores e argumentos.
A sintaxe do ps pode ser sutilmente estranha. Seguiremos a convenção do UNIX de um único traço precedendo um sinalizador, uma vez que essa é, de longe, a sintaxe mais amplamente suportada. No entanto, ele também pode ser executado com a sintaxe BSD, que elimina travessões prefixados e usa uma sintaxe de nome de sinalizador separada. Por exemplo, o aux
bandeira substitui o mais comum -ef
bandeira. Certifique-se de saber qual você está usando.
1. Mostrar todos os processos
ps -ef
Mostra todos os processos em execução com dados completos sobre cada processo. Esses dados incluem colunas que mostram o PID, tipo de terminal (TTY), tempo de execução e nome do comando.
2. Filtrar por usuário
ps -e -u userName
Filtra os resultados do ps para mostrar apenas os processos pertencentes ao nome de usuário especificado. Também pode ser usado sem o prefixo.
3. Filtrar por nome de processo
ps -C name
Filtra os resultados pelo nome do processo. A pesquisa não faz distinção entre maiúsculas e minúsculas, mas todos os nomes de processos estão em minúsculas de qualquer maneira. Irá pesquisar em todos os processos sem o -e
prefixo.
4. Filtrar por ID de processo
ps -ef -p 1234,5678,9012
Se você sabe o ID do processo em execução que deseja mostrar, pode filtrar especificamente com o -p
bandeira. Isso pode levar vários PIDs como argumentos, separados por uma única vírgula e sem espaço.
5. Grep dentro dos resultados
ps -ef | grep worker
Se você quiser mais flexibilidade para pesquisar os resultados do ps, pode canalizar os resultados para grep. Embora seja mais uma combinação de comandos do que um comando ps puro, é uma parte normal do cinto de ferramentas de qualquer administrador. Com grep
, você pode pesquisar usando expressões regulares para correspondência de padrões e muito mais.
6. Exibir colunas específicas
ps -e -o pid,uname,pcpu,pmem,comm
o -o
sinalizador define opções de exibição de saída específicas para os resultados do comando ps. Veja uma lista completa de opções de exibição padrão para ps.
7. Classificar processos por uso
ps -e --sort=-pcpu -o pid,pcpu,comm
Classifica os comandos pelas colunas listadas. O prefixo menos (-) classifica esse recurso em ordem decrescente, enquanto o prefixo mais (+) classifica em ordem crescente. Este comando também usa o -o
comando para exibir colunas específicas, o que não é estritamente necessário para classificação.
8. Renomear cabeçalhos de coluna
ps -o pid=Process,ruser=RealUser,comm=Command
Ao usar o -o
comando para criar uma aparência de saída especificada pelo usuário, as colunas podem ser renomeadas. Adicione um =
(igual) e o nome desejado, usando um -o
sinalizador para cada cabeçalho renomeado. Os cabeçalhos também podem ser ocultados em colunas específicas, deixando um espaço em branco após o sinal de igual. Você pode misturar e combinar com colunas de nome renomeadas e padrão. Apenas certifique-se de usar um -o
sinalizador para cada coluna renomeada, conforme mostrado abaixo:
ps -e -o pid,pcpu=CPU -o pmem=RAM,comm
9. Exibir resultados em estilo de árvore hierárquica
ps -e --forest
Usa arte ASCII para criar uma estrutura em estilo de árvore para exibir processos. Mostra os processos bifurcados e filhos como descendentes dos processos pais apropriados, classificando para corresponder. Para ocultar os “galhos” da árvore, use -H
no lugar de --forest
.
10. Exibir tópicos de processo
ps -p 4041 -L
o -L
sinalizador alterna na exibição de thread para qualquer funcionalidade do ps. É mais útil ao rastrear os threads de um processo específico.
11. Mostrar todos os processos raiz
ps -f -U root -u root
Execute uma pesquisa para todos os processos em execução com identificações de raiz reais e eficazes. Isso os mostra no formato de corpo inteiro, graças ao -f
bandeira. Você pode combiná-lo com o -o
sinalize para personalizar a saída.
Conclusão
Embora os sinalizadores de estilo UNIX se adaptem melhor a outros comandos do Terminal, os comandos BSD podem exibir informações em formatos diferentes e, às vezes, mais úteis. Se você estiver interessado em aprender sobre os sinalizadores de estilo BSD, verifique o página man do ps.