Como Gerenciar Processos no Linux Usando a Linha de Comando

Um processo é um termo de máquina utilizado para descrever uma aplicação ou um programa. Por exemplo, quando abrimos um navegador de Internet como o Google Chrome, podemos dizer que um processo, responsável pela execução do Google Chrome, até  fecharmos o navegador.

Mesmo quando executamos qualquer tipo de comando bash, uma nova instância de um processo aparece. Se abrimos o mesmo aplicativo duas vezes ou se você e seu amigo abri-lo no mesmo sistema, dois processos são iniciados.

Neste tutorial, vamos ensinar como gerenciar processos numa VPS Linux Brasil via linhas de comando. Isso é necessário se você deseja ver processos atualmente ativos e em execução ou talvez se você deseja ver quais processos pertencem a que usuário ou simplesmente para descobrir quais processos tomam a maioria dos recursos da sua máquina.

O que Você Precisa?

Antes de começar este guia, você precisará do seguinte:

  • Acesso à linha de comando.

Passo 1 – Visualizar os Processos no Linux

Palavras-chave úteis para aprender antes de começar a ler este tutorial:

  1. PID – ID do processo. Cada processo tem seu próprio número de 5 dígitos. Esses números podem ficar esgotados (ficamos sem números) e começar a repetir, mas a qualquer momento, não pode haver mais de um mesmo PID no sistema.
  2. PPID – ID de pai do processo. O ID do processo que iniciou este processo específico.

Os dois comandos mais usados ​​para visualizar processos são top e ps. A diferença entre os dois é que o top é mais usado interativamente e ps é mais usado em scripts, combinado com outros comandos bash e similares.

top – top de comando é provavelmente o mais básico e geralmente é usado para simplesmente exibir os processos top atuais que estão consumindo a maioria dos recursos da nossa máquina. Quando executamos o comando top em um terminal, vemos uma janela semelhante a esta:

command top.

top é um aplicativo por conta própria, após a execução do comando, um novo layout aparece e uma lista de processos está sendo constantemente atualizada a cada poucos segundos. Este novo layout é realmente interativo através de botões de teclado. Aqui estão alguns exemplos:

  • h ou ? – Mostrar uma janela de ajuda com todos os comandos e outras informações úteis.
  • space – pressionando espaço em seu teclado irá atualizar a tabela de processo imediatamente em vez de esperar os poucos segundos.
  • f – Adicionar campos para exibir no layout ou remover certos campos para que não sejam exibidos.
  • q – sair da aplicação top ou uma janela adicionalmente aberta que pertence à aplicação top. Por exemplo, depois de usar a função f.
  • l – Alterna a exibição da média de carga e informações de tempo de atividade.
  • m – Alterna exibição de informações de memória.
  • P (Shift + p) – Classificar os processos por uso da CPU.
  • s – Alterar o atraso entre as actualizações (Ser-lhe-á pedido para introduzir segundos).

Com o comando top, você também pode usar certas opções, como:

  • -d delay – especifica o intervalo de atualização no lugar do atraso.
  • -n number – atualizar o número de páginas de vezes e, em seguida, sair.
  • -p pid – somente exibe e monitora processos que têm um ID de processo especificado (pid).
  • -q – atualizar sem demora.

Para obter outros comandos e opções de teclado úteis, consulte esse site.

Além disso, você pode usar o comando man top para exibir outras informações úteis sobre este comando.

Outros usos úteis do comando top:

  • Para exibir processos de um usuário específico, você pode usar isto: top -u user
  • Para matar um processo em execução, depois de entrar no aplicativo superior, localize um pid de um processo que você deseja matar e pressione k (outro comando de teclado). Você será solicitado a digitar um ID de processo (do que você deseja matar).
  • Você pode salvar as configurações atuais do comando top usando o atalho de teclado Shift + W. As configurações serão salvas em /root/.toprc

ps – Outro comando muito útil para exibir processos no Linux. Aqui estão algumas opções usadas com freqüência com o comando ps:

  • -e – Exibe todos os processos.
  • -f – Formato completo da lista.
  • -r – Exibe somente os processos atualmente em execução.
  • -u – Opção para usar um nome de usuário específico (ou nomes de usuário).
  • --pid – Opção para filtrar por ID do processo.
  • --ppid – Opção para filtrar por ID do pai do processo.
  • -C – Filtrar processos por seu nome ou comando.
  • -o – Exibe as informações associadas à lista de palavras-chave separadas por espaços ou vírgulas.

Aqui estão alguns exemplos úteis sobre como você pode usar o comando “ps”:

  1. ps -ef – Lista os processos que estão sendo executados agora. (Outro comando semelhante é ps aux)
  2. ps -f -u user1,user2 – Exibirá todos os processos com base no UID fornecido (ID do usuário ou nome de usuário).
  3. ps -f --pid id – Exibe processos baseados em um ID de processo (pid). Digite o ID em vez de id. Pode ser usado com PPID em vez de PID para filtrar o ID do pai do processo em vez disso.
  4. ps -C command/name – Filtrar processos por nome ou comando.
  5. ps aux --sort=-pcpu,+pmem – Exibirá processos que consumam a maior parte da CPU.
  6. ps -e -o pid,uname,pcpu,pmem,comm – Usado para filtrar colunas específicas a serem exibidas.
  7. ps -e -o pid,comm,etime –  Isso exibirá o tempo decorrido de processos contando a partir do momento em que foram iniciados.

Recomendamos que consulte esta página para obter mais informações sobre o uso do comando ps.

Passo 2 – Matar e Priorizar os Processos

Já discutimos sobre como você pode matar um processo com o comando top em uma etapa anterior. Mas você também pode fazer isso com o comando kill. Por exemplo:

kill pid – Aqui, em vez do PID, você deve digitar o ID do processo que você deseja matar. Se o processo é teimoso e não quer ser morto facilmente, você pode usar: kill -9 pid.

Outro comando útil para o gerenciamento de processos é o NICE. Basicamente, ele permite que você priorize processos no caso de você estar executando muitos deles em seu sistema. Desta forma, o sistema saberá quais processos são mais importantes e os executará primeiro.

Este comando basicamente ajuda a priorizar os processos importantes de menos importante. Para processos com prioridade menor, o sistema só os executará se tiver a chance de fazer isso (se algum poder da CPU não estiver sendo usado). Este comando pode ser dado um valor entre –20 a 19 e quanto menor o valor, maior será a prioridade de um processo. A prioridade padrão de todos os processos é 0. A sintaxe básica seria esta:

  • nice -n 'Nice value' process name – Exemplo: nice -n 10 name. Isso iniciará um novo processo com prioridade.
  • Se já houver algum processo em execução em um sistema e você quiser dar-lhe um valor diferente do que tem atualmente, você pode usar: renice 'Nice value' -p 'PID' – Exemplo: renice '10' -p '54125'.

Conclusão

Neste tutorial, você aprendeu a gerenciar processos no Linux. Há muitas combinações diferentes que você pode usar com os comandos fornecidos, então sinta-se livre para experimentar. Caso tenha dúvidas sobre como gerenciar processos no Linux, entre em contato com nossa equipe de suporte.

Author
O autor

Rafael H.

Trabalho com marketing digital desde 2017. Atualmente sou Country Manager do Brasil na Hostinger. Sou apaixonado pelo mundo da tecnologia e hospedagem de sites, tendo experiência com WordPress, marketing digital, SEO, copywriting e ferramentas de automação de marketing. Também já trabalhei como analista de conteúdo, redator, assessor de imprensa e analista de comunicação.