Como exibir informações do processo em um sistema Linux com o comando ps

Em sistemas operacionais de multiprocessamento como o Linux, os processos são parte integrante do fluxo de trabalho do sistema. Às vezes, os usuários precisam listar os processos em execução em um sistema para fins de monitoramento. Em tais situações, os utilitários de linha de comando do Linux podem ser úteis.

O comando ps é uma dessas ferramentas que exibe informações relacionadas aos processos em um sistema Linux. Vejamos o comando ps e alguns exemplos importantes de uso.

Qual é o comando ps?

Um processo é o componente básico da computação em uma máquina Linux. Cada programa que você abre executa um ou mais processos responsáveis ​​pelo funcionamento do computador. De um aplicativo de edição de vídeo avançado a um utilitário simples como o comando mv , tudo é composto de processos.

O comando ps, que é um acrônimo para Status do Processo , é útil quando você deseja obter uma lista de todos os processos em execução no sistema. Este comando também fornece informações adicionais associadas a esses processos para o usuário.

Relacionado: O que é um processo no Linux?

Como usar o comando ps no Linux

A sintaxe básica do comando ps é:

 ps [options]

Executar o comando ps sem nenhum argumento produz a seguinte saída:

 ps

As informações a seguir são fornecidas na saída mencionada.

  • PID : O ID do processo do processo destacado
  • TTY : exibe o nome do terminal que você está usando
  • TEMPO : O tempo alocado ao processo pela CPU
  • CMD : O comando que é responsável por iniciar o processo

Listar todos os processos

Para obter uma lista de todos os processos em um sistema Linux, use o sinalizador -A ou -e com o comando ps padrão.

 ps -A
ps -e

Ver processos associados ao terminal

O sinalizador -T exibirá a lista de todos os processos relacionados ao terminal.

 ps -T

Você verá uma saída semelhante a esta.

Processos de exibição não associados ao terminal

O sinalizador -a listará os processos que não estão associados ao terminal atual.

 ps -a

A tela exibirá uma saída.

Negar as opções especificadas

Você também pode usar -N ou o sinalizador –deselect com o comando ps para inverter o funcionamento de um argumento específico.

Por exemplo, a opção -T exibe os processos associados ao terminal. Adicionar -N ou o sinalizador –deselect com o comando mostrará os processos que não estão associados ao terminal atual.

 ps -T -N
ps -T --deselect

Exibir colunas personalizadas na saída

O comando ps padrão exibe as seguintes colunas: PID, TTY, TIME e CMD. No entanto, você pode ajustar essas colunas e mostrar outros detalhes.

O sinalizador -eo permite que você especifique as colunas que deseja obter na saída.

 ps -eo pid, uname, pcpu, stime, pri, f

Renomear colunas na saída

Você também pode renomear os rótulos das colunas na saída. O sinalizador -o permitirá que você faça isso.

 ps -e -o pid=Process_ID, uid=User_ID, com=COMMAND

Listar os processos atualmente em execução

Para obter uma lista dos processos em execução no sistema, passe o sinalizador -ax com o comando ps. O -a significa Tudo .

 ps -ax

Processos de exibição no formato BSD

O formato Linux de passagem de argumentos com o comando utiliza o caractere (hífen). Por outro lado, o formato BSD não inclui nenhum caractere especial com os sinalizadores de argumento.

Por exemplo, ps -A (formato Linux) exibirá uma lista de todos os processos. O equivalente BSD deste comando é:

 ps au

onde a representa Todos e u denota usuários.

Lista de Processos em Formato Completo

Para obter informações detalhadas relacionadas aos processos, passe a opção -ef ou -eF com o comando.

 ps -ef
ps -eF

A saída mencionada acima contém as seguintes informações sobre processos.

  • UID : O ID do usuário responsável pelo processo
  • PID : o ID do processo da entrada
  • PPID : O ID do processo pai
  • C : uso da CPU e informações de programação relacionadas ao processo
  • STIME : Hora em que o processo foi iniciado
  • TTY : o nome do terminal que você está usando atualmente
  • TEMPO : Quantidade de tempo de CPU usado pelo processo
  • CMD : O comando que executou o processo

A opção -u exibe uma lista de todos os processos iniciados por um usuário específico.

 ps -u username

Para exibir todos os processos executados pelo usuário root, passe o root com o sinalizador -U e -u .

 ps -U root -u root

Obtenha um PID de processo

Para obter o ID do processo de um processo específico, use o sinalizador -C com o comando.

 ps -C process-name

Substitua processo de nome com o nome do processo. A saída exibirá o ID do processo.

 ps -C bash

Liste os tópicos de um processo específico

Você deve saber que um processo pode conter vários threads, cada um responsável por uma tarefa específica. Para exibir uma lista dos threads de um processo, use o sinalizador -L com o comando ps. Observe que você terá que passar o ID do processo do processo junto com o comando.

 ps -L pid

Por exemplo

 ps -L 1250

Processo de exibição associado a um grupo específico

Obter uma lista de processos relacionados a um determinado grupo também é fácil. Use o sinalizador -fG com o comando padrão.

 ps -fG groupname

Alternativamente, você também pode passar o ID do grupo em vez do nome do grupo.

 ps -fG groupid

Por exemplo

 ps -fG sudoers
ps -fg 1000

Processos de exibição em formato de árvore

Para obter uma representação hierárquica em árvore dos processos em execução no Linux:

 ps -f --forest -C bash

O comando mencionado irá exibir todos os processos relacionados ao bash.

Monitoramento de processos em execução no Linux

Saber quais processos estão sendo executados em seu computador pode ser útil se você estiver com poucos recursos. Você pode facilmente eliminar processos Linux que não respondem que você não deseja em seu sistema usando a linha de comando.

Para aqueles que têm computadores de baixo custo e desejam um sistema operacional que ofereça um desempenho estável, muitas distribuições leves do Linux estão disponíveis.