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:
- 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.
- 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:
.
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”:
ps -ef
– Lista os processos que estão sendo executados agora. (Outro comando semelhante éps aux
)ps -f -u user1,user2
– Exibirá todos os processos com base no UID fornecido (ID do usuário ou nome de usuário).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.ps -C command/name
– Filtrar processos por nome ou comando.ps aux --sort=-pcpu,+pmem
– Exibirá processos que consumam a maior parte da CPU.ps -e -o pid,uname,pcpu,pmem,comm
– Usado para filtrar colunas específicas a serem exibidas.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.