Gerenciamento de processos no GNU/Linux

Publicado por Alvaro Alves em 18/11/2013

[ Hits: 27.859 ]

 


Gerenciamento de processos no GNU/Linux



Em uma tarefa diária de um administrador, sempre foram necessários conhecimentos sobre os processos no Linux. Este tutorial é bem direto ao ponto, sobre o que um administrador Linux precisa saber!

O Linux é um programa monotarefa, mas com time shared (tempo de execução compartilhado). Processos são programas em execução, processo zumbi é quando o processo pai morre.

Todo processo, possui:
  • Espaço de endereçamento de memória;
  • Variáveis de ambiente;
  • Lista de arquivos abertos;
  • Um número que o identifica, conhecido como PID;
  • Um processo pai (parent) identificado pelo PPID;
  • Identificação de usuário e grupo.

Um processo tem uma ou mais linhas de execução (threads). Existem processos com maior e menor prioridade. Na hierarquia de processos, dizemos que o processo que chama o outro é o processo pai, enquanto o novo, é o processo filho.

A única forma de criar um processo novo no Linux, é através da chamada de sistema fork().

Rodar um programa na verdade é um fork seguido de uma chamada de sistema execl.

Toda vez que se cria um processo, na verdade, o sistema está fazendo um fork, que nada mais é do que uma interface programática para acessar os recursos e/ou serviços no kernel do sistema operacional

Processos - criação

Os programas, usualmente, são de 2 tipos:

Binários :: Instruções em linguagem de máquina. Ex.: ELF. Scripts :: Arquivos de comando (1º linha do tipo !/bin/bash, ou !/usr/bin/pearl).

Comandos:

# ps   # Visualiza os processos em execução
# ps -a   # Exibe processos de outros usuários também
# ps -u   # Exibe os processos detalhadamente inclusive com uso de memória
# ps -x   # Exibe os processos que não estão vinculados a terminais
# ps -ef   # Exibe todos os processos e mostra o PPID
# top   # Exibe os processos que utilizam CPU em tempo real
# top -d   # Exibe os processos que utilizam CPU em tempo real com atualização de 1 seg
# kill -9 (processo)   # Mata um processo
# kill -l   # Mostra as opções do comando kill

CRTL-Z   # Coloca um processo em segundo plano

# fg (nº)   # Coloca um processo em primeiro plano
# jobs   # Lista processos que estão em segundo plano

Para executar diretamente em segundo plano, utilizar & no final.

Processos - prioridade

Dependendo da importância dos processos, pode-se criar processos com maior e menor prioridade.

Além disso, é possível alterar a prioridade de um processo, mesmo depois dele já ter sido criado e estar sendo executado:

# nice -n (-20 a +19) programa   # Roda o programa com a prioridade desejada
# renice (-20 a +19) processo   # Permite alterar a prioridade do programa estando em execução

A prioridade vai de -20 (maior) até +19 (menor).

Quando iniciamos um programa com o comando nice, sua prioridade é igual a +10.

Se executamos o programa normalmente, sua prioridade será igual a zero.

Processos - memória

Para os processos, a memória é linear e começa do zero.

Na memória física, o processo pode estar em páginas não sequenciais, em qualquer lugar da memória. Se houver pouca memória para executar os processos, pode-se utilizar a memória SWAP.

Quando a memória física acaba, o sistema grava na SWAP as páginas de memória menos acessadas, abrindo espaço para novas páginas.


É isso por hoje, direto ao ponto e sem muitos segredos, esperamos que vocês aproveitem as dicas.

Abraços,
Equipe Mundo Open

Outras dicas deste autor

Tutorial de Squid - CentOS 6.5

Antivírus com Samba - Servidor de Arquivos

História do Linux - 1991 a 2003

Arquivando e comprimindo arquivos

Syslog - Gerenciamento de logs do sistema

Leitura recomendada

Lista de distribuições Live CD

Cursos gratuitos do MIT

Verificando se há mensagens em sua caixa postal Yahoo

Menu Principal, Painel inferior, Opção de Desligamento e Botões de Janelas no Gnome3

HTC Touch

  

Comentários
[1] Comentário enviado por izaias em 18/11/2013 - 11:17h

Ótima dica! Favoritado.

Estava mesmo querendo gerenciar alguns processos e não conheço todos os comandos para isso.

[2] Comentário enviado por removido em 18/11/2013 - 17:38h

Texto simples, claro e objetivo. Parabéns !



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts