Android

Comando ps no linux (list processos)

Comandos ps e pstree - Visualizando processos e threads no sistema Linux

Comandos ps e pstree - Visualizando processos e threads no sistema Linux

Índice:

Anonim

No Linux, uma instância em execução de um programa é chamada de processo. Ocasionalmente, ao trabalhar em uma máquina Linux, pode ser necessário descobrir quais processos estão em execução no momento.

Existem vários comandos que você pode usar para encontrar informações sobre os processos em execução, sendo ps , pstree e top os mais usados.

Este artigo explica como usar o comando ps para listar os processos em execução no momento e exibir informações sobre esses processos.

Como usar o comando ps

A sintaxe geral para o comando ps é a seguinte:

ps

Por razões históricas e de compatibilidade, o comando ps aceita vários tipos diferentes de opções:

  • Opções de estilo UNIX, precedidas por um único traço. Opções de estilo BSD, usadas sem um traço.GNU opções longas, precedidas por dois traços.

Diferentes tipos de opção podem ser combinados, mas, em alguns casos específicos, podem aparecer conflitos; portanto, é melhor ficar com um tipo de opção.

As opções BSD e UNIX podem ser agrupadas.

Em sua forma mais simples, quando usado sem nenhuma opção, o ps imprimirá quatro colunas de informações para no mínimo dois processos em execução no shell atual, o próprio shell e os processos que são executados no shell quando o comando foi chamado.

ps

A saída inclui informações sobre o shell ( bash ) e o processo em execução neste shell ( ps , o comando que você digitou):

PID TTY TIME CMD 1809 pts/0 00:00:00 bash 2043 pts/0 00:00:00 ps

As quatro colunas são rotuladas PID , TTY , TIME e CMD .

  • PID - O ID do processo. Geralmente, ao executar o comando ps , as informações mais importantes que o usuário procura são o PID do processo. Conhecer o PID permite eliminar um processo defeituoso. TTY - O nome do terminal de controle do processo. TIME - O tempo acumulado da CPU do processo, mostrado em minutos e segundos. CMD - O nome do comando que foi usado para iniciar o processo.

A saída acima não é muito útil, pois não contém muita informação. O poder real do comando ps vem quando lançado com opções adicionais.

O comando ps aceita um grande número de opções que podem ser usadas para exibir um grupo específico de processos e informações diferentes sobre o processo, mas apenas algumas são necessárias no uso diário.

ps é usado com mais frequência com a seguinte combinação de opções:

Formulário BSD:

ps aux

  • A opção a diz ao ps para exibir os processos de todos os usuários. Somente os processos que não estão associados a um terminal e os processos dos líderes de grupo não são mostrados. u representa um formato orientado ao usuário que fornece informações detalhadas sobre os processos. A opção x instrui o ps a listar os processos sem um terminal de controle. Esses são principalmente processos iniciados no momento da inicialização e em execução em segundo plano.

O comando exibe informações em onze colunas denominadas USER , PID , %CPU , %MEM , VSZ , RSS , STAT , START , TTY , TIME e CMD .

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.8 77616 8604 ? Ss 19:47 0:01 /sbin/init root 2 0.0 0.0 0 0 ? S 19:47 0:00…

Já explicamos os rótulos PID , TTY , TIME e CMD . Aqui está uma explicação de outros rótulos:

  • USER - O usuário que executa o processo. %CPU - A utilização da CPU do processo. %MEM - A porcentagem do tamanho do conjunto residente do processo para a memória física na máquina. VSZ - tamanho da memória virtual do processo no KiB. RSS - O tamanho da memória física que o processo está usando. STAT - O código do estado do processo, como Z (zumbi), S (adormecido) e R (em execução). START - A hora em que o comando foi iniciado.

A opção f diz ao ps para exibir uma visualização em árvore dos processos pai para filho:

ps auxf

O comando ps também permite classificar a saída. Por exemplo, para classificar a saída com base no uso da memória, você usaria:

ps aux --sort=-%mem

Formulário UNIX:

ps -ef

  • A opção -e instrui o ps a exibir todos os processos. -f fica na lista de formatos completos, que fornece informações detalhadas sobre os processos.

O comando exibe informações em oito colunas denominadas UID , PID , PPID , C , STIME , TIME e CMD .

UID PID PPID C STIME TTY TIME CMD root 1 0 0 19:47 ? 00:00:01 /sbin/init root 2 0 0 19:47 ? 00:00:00…

Os rótulos que ainda não foram explicados têm o seguinte significado:

  • UID - O mesmo que USER , o usuário que executa o processo. PPID - O ID do processo pai. C - O mesmo que %CPU , o processo de utilização da CPU. STIME - O mesmo que START , o horário em que o comando foi iniciado.

Para visualizar apenas os processos em execução como um usuário específico, digite o seguinte comando, em que linuxize é o nome do usuário:

ps -f -U linuxize -u linuxize

Formato definido pelo usuário

A opção o permite especificar quais colunas são exibidas ao executar o comando ps .

Por exemplo, para imprimir informações apenas sobre o PID e o COMMAND , execute um dos seguintes comandos:

ps -efo pid, comm

ps auxo pid, comm

Usando ps com outros comandos

ps pode ser usado em combinação com outros comandos através da tubulação.

ps -ef | less

A saída do comando ps pode ser filtrada com grep . Por exemplo, para mostrar apenas o processo pertencente ao usuário raiz, você deve executar:

ps -ef | grep root

Conclusão

O comando ps é um dos comandos mais usados ​​ao solucionar problemas nos sistemas Linux. Ele tem muitas opções, mas geralmente a maioria dos usuários está usando ps aux ou ps -ef para coletar informações sobre processos em execução.

Para mais informações sobre ps , digite man ps no seu terminal.

terminal ps