Como usar o comando ps no guia iniciante no Linux

Como usar o comando ps no guia iniciante no Linux

O ps O Command é um utilitário de linha de comando padrão que pode nos fornecer informações sobre os processos que estão atualmente em execução em um sistema Linux. Pode nos fornecer muitas informações úteis sobre esses processos, incluindo seu PID (ID do processo), TTY, o usuário executando um comando ou aplicativo e mais.

Embora isso pareça bem simples, não se engane, o ps O comando pode ficar bastante complicado. Ele aceita muitas opções diferentes e pode ser útil em um número incrível de situações, mesmo como parte de um script bash.

Neste tutorial, apresentaremos você ao ps comando e repasse todas as suas opções mais úteis, incluindo muitos exemplos. No final da leitura deste guia, você estará armado com todas as informações necessárias para tirar o máximo proveito desta ferramenta útil da linha de comando.

Neste tutorial, você aprenderá:

  • Como listar todos os processos em execução em um sistema
  • Como usar ps comando através de exemplos
Usando o comando PS para identificar processos de execução em um sistema Linux Requisitos de software e convenções de linha de comando Linux
Categoria Requisitos, convenções ou versão de software usada
Sistema Qualquer distro Linux
Programas ps
Outro Acesso privilegiado ao seu sistema Linux como raiz ou através do sudo comando.
Convenções # - requer que os comandos Linux sejam executados com privilégios root diretamente como usuário root ou por uso de sudo comando
$ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular

Como listar todos os processos em execução em um sistema



O ps O comando pode ser um pouco confuso para iniciantes, porque aceita opções em algumas sintaxes diferentes. É um comando muito antigo que encontrou seu caminho para cada sistema (ou quase todos) Unix, BSD e Linux desde o início dos anos 70. Como tal, a iteração atual foi adaptada para aceitar sintaxes da Unix (opções precedidas com um traço), BSD (opções sem traço) e GNU (opções precedidas por dois traços).

É mais fácil aprender sobre o ps comando através de exemplos. Para começar, use alguns dos seguintes comandos em seu próprio sistema e você acabará por dominar.

O comando a seguir mostrará todos os processos em execução no sistema e é provavelmente o mais usado ps comando em geral. Se há apenas uma coisa que você se lembra depois de ler este tutorial, deve ser este comando.

$ ps aux 

Observe que isso está usando a sintaxe do BSD (sem traços). Usar as mesmas opções em uma sintaxe diferente pode produzir um resultado diferente, então sim, a sintaxe importa. Aqui está o que essas opções fazem:

  • a - mostrar processos de todos os usuários.
  • você - Exibir o formato orientado ao usuário (exibe informações adicionais sobre os processos de execução).
  • x - Processos de lista que não pertencem a nenhum TTY.

Isso provavelmente produzirá muita saída em seu terminal. Mesmo em sistemas recém -instalados, geralmente existem alguns processos em segundo plano e ps irá identificar cada um. Tente canalizar o comando para menos ou mais Para tornar a saída mais gerenciável.

$ ps aux | menos 
Saída do comando ps aux

Como você pode ver, existem algumas colunas em nossa produção, e algumas delas podem ser enigmáticas para iniciantes. Vamos analisar o que cada um significa:



  • DO UTILIZADOR - O usuário em que o processo está executando.
  • PID - O ID do processo (todo processo é atribuído um número como um ID).
  • %CPU - Quanta porcentagem da CPU o processo está utilizando.
  • %Mem - Quanta porcentagem de RAM o processo está utilizando.
  • Vsz - Tamanho da memória virtual do processo.
  • RSS - O tamanho da memória física que o processo está usando.
  • Tty - Qual tty (tela terminal) o processo está vinculado a, ou ? para nenhum.
  • ESTADO - O código do estado do processo; Existem muitos, mas alguns comuns são S (dormindo) e R (correndo).
  • COMEÇAR - O tempo em que o processo começou.
  • TEMPO - O tempo acumulado da CPU em que o processo usou.
  • COMANDO - O comando completo que foi usado para gerar o processo de execução.

Como usar o comando ps através de exemplos

Agora que você tem seus rolamentos com o ps comando, vamos analisar outros exemplos úteis e comuns.

A sintaxe UNIX a seguir é frequentemente usada no lugar da sintaxe do BSD que mostramos acima. É mais conciso, facilitando a ver as coisas de relance, mas não tão detalhada quanto ps aux.

$ ps -ef 
  • -e - exibir processos de execução de todos os usuários.
  • -f - Exibir a listagem completa do formato (exibe informações adicionais sobre os processos de execução).
Saída do comando ps -ef

Nossas colunas mudaram um pouco, mas elas significam principalmente a mesma coisa que na sintaxe do BSD. Aqui está um rápido resumo dos novos:

  • Uid - ID do usuário, o mesmo que DO UTILIZADOR Na sintaxe do BSD.
  • PPID - O ID do processo do processo pai.
  • C - Utilização da CPU, o mesmo que %CPU Na sintaxe do BSD.
  • Stime - Hora de início, igual a COMEÇAR Na sintaxe do BSD.

Se você não precisar dessas informações detalhadas, basta usar o -e opção. O machado As opções vão realizar a mesma coisa.

$ ps -e pid tty time cmd 1 ? 00:00:02 Systemd 2 ? 00:00:00 Kthreadd 3 ? 00:00:00 RCU_GP… $ PS AX AX PID TTY STAT TIME COMANDO 1 ? Ss 0:02 /sbin /init splash 2 ? S 0:00 [Kthreadd] 3 ? EU< 0:00 [rcu_gp] 


Um dos melhores recursos de ps é que você pode classificar por qualquer coluna que quiser. Por exemplo, para classificar os processos pela quantidade de memória que eles estão usando:

$ ps aux--sort =-%mem | menos 
Classificando a saída PS por uso da memória

Ou classificar por utilização da CPU:

$ ps aux--sort =-%cpu | menos 

Se você está procurando um processo específico, é melhor pisar no Grep. Isso é especialmente útil se você precisar determinar rapidamente se um processo está em execução ou não, ou você precisará do ID do processo.

$ ps aux | Grep Apache2 

O o opção em BSD e -o no Unix nos permite especificar quais colunas queremos ver. Isso faz o ps saída muito personalizável, listando apenas as informações que consideramos relevantes. Tudo que você precisa fazer é listar cada coluna que você deseja, separada com vírgulas.

$ ps axo pid,%cpu,%mem, comando | menos 


Isolando colunas na sintaxe de BSD

Aqui está outro exemplo, mas usando a sintaxe Unix e também classificando a saída pelo uso da CPU.

$ ps -eo pid, ppid, c - -sort = -c | menos 
Isolando colunas e resultados de classificação por uso da CPU na sintaxe Unix

Pensamentos finais

Neste guia, vimos como usar o ps Comando no Linux para listar processos em execução no sistema. Também aprendemos diferentes exemplos de linha de comando que nos permitem isolar as informações de que precisamos.

A viagem mais importante deste guia é o ps aux comando. Com este comando, você sempre pode ver todos os processos em execução em seu sistema e identificar todas as informações relevantes. Canalizando para grep torna o comando ainda mais poderoso. Para um controle mais granular, você sempre pode consultar nosso guia ou a página manual do PS.

Tutoriais do Linux relacionados:

  • Como propagar um sinal para os processos filhos de uma festa…
  • Coisas para instalar no Ubuntu 20.04
  • Variáveis ​​de bash especiais com exemplos
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Comandos Linux: os 20 comandos mais importantes que você precisa para…
  • Comandos básicos do Linux
  • Mastering Bash Script Loops
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Multi-thread Bash Script e Gerenciamento de Processos no…
  • Gerenciamento de processos de fundo bash