Gerenciamento de processos Linux / Unix: comandos ps, kill, top, df, free, nice

Neste tutorial, você aprenderá-

O que é um processo?

Uma instância de um programa é chamada de Processo. Em termos simples, qualquer comando que você dê à sua máquina Linux inicia um novo processo.

É possível ter vários processos para o mesmo programa.

Tipos de processos:

  • Processos de primeiro plano: eles são executados na tela e precisam da entrada do usuário. Por exemplo, programas de escritório
  • Processos em segundo plano: eles são executados em segundo plano e geralmente não precisam de entrada do usuário. Por exemplo, Antivírus.

Clique aqui se o vídeo não estiver acessível



Executando um Processo de Primeiro Plano

Para iniciar um processo em primeiro plano, você pode executá-lo no painel ou no terminal.

Ao usar o Terminal, você terá que esperar até que o processo de primeiro plano seja executado.

Executando um processo em segundo plano

Se você iniciar um programa / processo em primeiro plano a partir do terminal, não poderá trabalhar no terminal até que o programa esteja instalado e funcionando.

Tarefas particulares que usam muitos dados consomem muito poder de processamento e podem até levar horas para serem concluídas. Você não quer que seu terminal fique parado por tanto tempo.

Para evitar tal situação, você pode executar o programa e enviá-lo para segundo plano para que o terminal permaneça à sua disposição. Vamos aprender como fazer isso -

Fg

Você pode usar o comando 'fg' para continuar um programa que foi interrompido e trazê-lo para o primeiro plano.

A sintaxe simples para este utilitário é:

fg jobname

Exemplo

  1. Lance o reprodutor de música 'banshee'
  2. Pare com o comando 'ctrl + z'
  3. Continue com o utilitário 'fg'.

Vejamos outros comandos importantes para gerenciar processos -

Principal

Este utilitário informa ao usuário sobre todos os processos em execução na máquina Linux.

Pressione 'q' no teclado para sair da tela de processo.

A terminologia é a seguinte:

Campo Descrição Exemplo 1 Exemplo 2
PID O ID do processo de cada tarefa 1525 961
Do utilizador O nome de usuário do proprietário da tarefa Casa Raiz
PR Prioridade Pode ser 20 (mais alto) ou -20 (mais baixo) vinte vinte
NI O bom valor de uma tarefa 0 0
RESPEITADO Memória virtual usada (kb) 1775 75972
CARNE DE GADO Memória física usada (kb) 100 51
SHR Memória compartilhada usada (kb) 28 7952
S

Status

Existem cinco tipos:

'D' = sono ininterrupto

'R' = correndo

'S' = dormindo

'T' = rastreado ou parado

'Z' = zumbi

S R
%CPU % de tempo de CPU 1,7 1.0
% MEM Memória física usada 10 5,1
TIME + Tempo total de CPU 5: 05,34 2: 23,42
Comando Nome do comando Photoshop.exe Xorg

$

Este comando significa 'Status do processo'. É semelhante ao 'Gerenciador de Tarefas' que aparece em uma máquina Windows quando usamos Cntrl + Alt + Del. Este comando é semelhante ao comando 'top', mas as informações exibidas são diferentes.

Para verificar todos os processos em execução em um usuário, use o comando -

ps ux

Você também pode verificar o status do processo de um único processo, use a sintaxe -

ps PID 

Matar

Este comando encerra processos em execução em uma máquina Linux.

Para usar esses utilitários, você precisa saber o PID (id do processo) do processo que deseja matar

Sintaxe -

kill PID

Para encontrar o PID de um processo, simplesmente digite

pidof Process name

Vamos tentar com um exemplo.

LEGAIS

O Linux pode executar muitos processos ao mesmo tempo, o que pode diminuir a velocidade de alguns processos de alta prioridade e resultar em baixo desempenho.

Para evitar isso, você pode dizer à sua máquina para priorizar os processos de acordo com seus requisitos.

Essa prioridade é chamada de Niceness no Linux e tem um valor entre -20 a 19. Quanto menor o índice de Niceness, maior será a prioridade dada a essa tarefa.

O valor padrão de todos os processos é 0.

Para iniciar um processo com um valor niceness diferente do valor padrão, use a seguinte sintaxe

nice -n 'Nice value' process name

Se já houver algum processo em execução no sistema, você pode 'Renice' seu valor usando a sintaxe.

renice 'nice value' -p 'PID'

Para alterar o Niceness, você pode usar o comando 'top' para determinar o PID (id do processo) e seu valor Nice. Posteriormente, use o comando renice para alterar o valor.

Vamos entender isso por um exemplo.

DF

Este utilitário informa o espaço livre em disco (disco rígido) em todos os sistemas de arquivos.

Se você deseja que as informações acima em um formato legível, use o comando

'df -h' 

Sem custos

Este comando mostra a memória livre e usada (RAM) no sistema Linux.

Você pode usar os argumentos

free -m para exibir a saída em MB

free -g para exibir a saída em GB

Resumo:

  • Qualquer programa em execução ou comando dado a um sistema Linux é chamado de processo
  • Um processo pode ser executado em primeiro ou segundo plano
  • O índice de prioridade de um processo é chamado de Nice no Linux. Seu valor padrão é 0 e pode variar entre 20 a -19
  • Quanto menor o índice de Niceness, maior será a prioridade dada a essa tarefa
Comando Descrição
bg Para enviar um processo para segundo plano
fg Para executar um processo interrompido em primeiro plano
principal Detalhes sobre todos os processos ativos
ps Fornece o status dos processos em execução para um usuário
ps PID Dá o status de um processo específico
pidof Fornece o ID do processo (PID) de um processo
matar PID Mata um processo
legais Inicia um processo com uma determinada prioridade
Renice Altera a prioridade de um processo já em execução
df Dá espaço livre no disco rígido em seu sistema
gratuitamente Dá RAM livre em seu sistema