No Linux, uma instância em execução de um programa é chamada de processo. Ocasionalmente, ao trabalhar em uma máquina Linux, você pode precisar 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, com ps
, pstree
e top
são os mais comumente usados.
Este o 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:
Por motivos históricos 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 travessão.
- Opções longas do GNU, precedidas por dois travessões.
Tipos de opções diferentes ca n podem ser misturados, mas em alguns casos particulares, podem aparecer conflitos, então é melhor ficar com um tipo de opção.
As opções BSD e UNIX podem ser agrupadas.
Em é mais simples formulário, quando usado sem qualquer opção, ps
irá 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 invocado.
A saída inclui informações sobre o shell (bash
) e o processo em execução neste shell (ps
, o comando que você digitou):
As quatro colunas são rotuladas como PID
, TTY
, TIME
e CMD
.
-
PID
– O ID do processo. Normalmente, ao executar o comandops
, a informação mais importante que o usuário está procurando é o PID do processo. Conhecer o PID permite eliminar um processo com defeito. -
TTY
– O nome do terminal de controle do processo. -
TIME
– O tempo cumulativo de 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 muitas informações. O verdadeiro poder 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 diferentes informações sobre o processo, mas apenas algumas são necessárias no uso diário.
ps
é mais frequentemente usado com a seguinte combinação de opções:
Formulário BSD:
- O
a
opção informaps
para exibir os processos de todos os usuários. Apenas os processos que não estão associados a um terminal e processos de líderes de grupo não são mostrados. -
u
significa um formato orientado ao usuário que fornece informações detalhadas sobre o processos. - A opção
x
instruips
a listar os processos sem um terminal de controle. Esses são principalmente processos que são iniciados no momento da inicialização e executados em segundo plano.
O comando exibe informações em onze colunas rotuladas USER
, PID
, %CPU
, %MEM
, VSZ
, RSS
, STAT
, START
, TTY
, TIME
e CMD
.
Já explicamos PID
, TTY
, TIME
e CMD
rótulos. 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 em KiB. -
RSS
– O tamanho da memória física que o processo está usando. -
STAT
– O código de estado do processo, comoZ
(zumbi),S
(dormindo) eR
(correndo). -
START
– A hora em que o comando foi iniciado.
A opção f
informa ps
para exibir uma visualização em árvore dos processos pai para filho:
O comando ps
também permite que você classifique a saída. Por exemplo, para classificar a saída com base no uso de memória, você usaria:
Formulário UNIX:
- A opção
-e
instruips
a exibir todos os processos. - A
-f
representa a lista de formato completo, que fornece informações detalhadas sobre os processos.
O comando exibe informações em oito colunas rotuladas UID
, PID
, PPID
, C
, STIME
, TIME
e CMD
.
Os rótulos que ainda não foram explicados têm o seguinte significado:
-
UID
– O mesmo queUSER
, o usuário que executa o processo. -
PPID
– O ID do processo pai. -
C
– Sam e como%CPU
, a utilização da CPU do processo. -
STIME
– O mesmo queSTART
, a hora em que o comando foi iniciado.
Para visualizar apenas os processos em execução como um usuário específico, digite o seguinte comando, onde linuxize
é o nome do usuário:
Formato definido pelo usuário #
O o
permite que você especifique quais colunas são exibidas ao executar o comando ps
.
Por exemplo, para imprimir informações apenas sobre o PID
e COMMAND
, você executaria um dos seguintes comandos:
Usando ps com outros comandos #
ps
pode ser usado em combinação com outros comandos por meio de tubulação.
Se você deseja exibir a saída do comando ps
, uma página de cada vez e canalize-o para o comando less
:
A saída do ps
pode ser filtrado com grep
. Por exemplo, para mostrar apenas o processo pertencente ao usuário root, você executaria:
Conclusão #
O ps
é um dos comandos mais comumente usados ao solucionar problemas em sistemas Linux. Ele tem muitas opções, mas normalmente, a maioria dos usuários está usando ps aux
ou ps -ef
para reunir informações sobre os processos em execução.
Para obter mais informações sobre ps
, digite man ps
em seu terminal.