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.
É 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 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 –
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
- Inicie o reprodutor de música 'banshee'
- Pare com o comando 'ctrl +z'
- Continue com o utilitário '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.
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
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 eliminar
Sintaxe -
kill PID
Para encontrar o PID de um processo basta digitar
pidof Process name
Vamos tentar com um exemplo.
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
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.
DF
Este utilitário relata o espaço livre em disco (disco rígido) em todos os sistemas de arquivos.
Se você quiser as informações acima em um formato legível, use o comando
'df -h'
Free
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 é 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 |