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

O que é um Processo?

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

O que é um processo

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

Tipos de Processos:

  • Processos em primeiro plano: Eles são executados na tela e precisam da entrada do usuário. Por exemplo, programas do Office
  • Processos em segundo plano: Eles são executados em segundo plano e geralmente não precisam da entrada do usuário. Por exemplo antivírus.

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

Executando um processo em 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 em primeiro plano seja executado.

Executando um processo em primeiro plano

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 específicas com uso intensivo de dados exigem 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 disponível para você. Vamos aprender como fazer isso –

Executando um processo em segundo plano

Fg

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

A sintaxe simples para este utilitário é:

fg jobname

Exemplo

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

Comando FG

Vejamos outros comandos importantes para gerenciar processos –

Saída

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

Comando Principal

Pressione 'q' no teclado para sair da exibição do processo.

A terminologia segue:

Campo Descrição Exemplo 1 Exemplo 2
PID O ID do processo de cada tarefa 1525 961
Utilizador O nome de usuário do proprietário da tarefa Início Raiz
PR Prioridade

Pode ser 20 (mais alto) ou -20 (mais baixo)

20 20
NI O bom valor de uma tarefa 0 0
RESPEITADO Memória virtual usada (kb) 1775 75972
RES 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
Command Nome do comando Photoshop.exe Xorg

PS

Este comando significa 'Status do Processo'. É semelhante ao “Gerenciador de Tarefas” que aparece em um Windows Máquina 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 sob um usuário, use o comando –

ps ux

Comando PS

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

ps PID 

Comando PS

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 eliminar

Sintaxe -

kill PID

Para encontrar o PID de um processo basta digitar

pidof Process name

Vamos tentar com um exemplo.

Mate o Comando

NICE

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 instruir sua máquina a priorizar os processos de acordo com suas necessidades.

Essa prioridade é chamada de Niceness no Linux e tem um valor entre -20 e 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 de gentileza diferente do valor padrão, use a seguinte sintaxe

nice -n 'Nice value' process name

Bom comando

Se já houver algum processo em execução no sistema, você poderá 'Renice' seu valor usando 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. Later use o comando renice para alterar o valor.

Vamos entender isso com um exemplo.

Bom comando

DF

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

Comando DF

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

'df -h' 

Comando DF

Free

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

Comando Livre

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 é denominado Nice no Linux. Seu valor padrão é 0 e pode variar entre 20 e -19
  • Quanto menor o índice de Niceness, maior será a prioridade dada a essa tarefa
Command Descrição
bg Para enviar um processo para segundo plano
fg Para executar um processo interrompido em primeiro plano
topo Detalhes sobre todos os processos ativos
ps Dê o status dos processos em execução para um usuário
p.s PID Dá o status de um determinado processo
pidof Fornece o ID do processo (PID) de um processo
matar PID Mata um processo
agradável Inicia um processo com uma determinada prioridade
Renice Altera a prioridade de um processo já em execução
df Oferece espaço livre no disco rígido do seu sistema
gratuitamente Dá RAM grátis em seu sistema