Pular para o conteúdo principal

Capítulo 4.1 - Introdução aos Processos

Objetivos de Aprendizagem​

Ao final deste capítulo, você será capaz de:

  • Compreender o que é um processo
  • Explicar o ciclo de vida de um processo
  • Identificar os processos em execução
  • Entender a hierarquia de processos

O que é um Processo?​

Um processo é uma instância de um programa em execução. Cada processo possui seus próprios recursos: memória, arquivos abertos, etc.

Características:

  • PID (Process ID): Identificador único
  • PPID (Parent Process ID): Processo pai
  • Espaço de memória: Isolado dos outros processos
  • Recursos: Arquivos abertos, rede, etc.

O Problema da Gestão​

Sem uma gestão adequada:

  • Como ver quais programas estão rodando?
  • Como parar um programa que não responde mais?
  • Como gerenciar os recursos utilizados?
  • Como entender a hierarquia?

A Solução: Ferramentas de Gerenciamento​

O Linux fornece diversas ferramentas para gerenciar processos:


Ciclo de Vida de um Processo​

Estados:

  • Created: Processo criado (fork)
  • Ready: Pronto para executar
  • Running: Em execução
  • Blocked: Em espera (I/O, sinal)
  • Terminated: Finalizado

Hierarquia de Processos​

Os processos formam uma árvore:

Características:

  • init/systemd: PID 1, pai de todos
  • Processos filhos: Criados por fork()
  • Processos órfãos: Adotados pelo init se o pai morre
  • Processos zumbi: Finalizados mas não limpos

Comandos Básicos​

ps - Visualizar Processos​

# Todos os processos
ps aux

# Processos do usuário
ps

# Formato personalizado
ps -eo pid,ppid,cmd,%mem,%cpu

# Por usuário
ps -u user1

# Árvore de processos
ps auxf
ps -ejH

top - Monitoramento em Tempo Real​

# Interface interativa
top

# Opções
top -u user1 # Por usuário
top -p 1234 # Processo específico
top -d 2 # Atualização a cada 2 segundos

Comandos no top:

  • q: Sair
  • k: Matar um processo
  • r: Alterar prioridade
  • M: Ordenar por memória
  • P: Ordenar por CPU

htop - Versão Aprimorada​

# Interface mais amigável
htop

# Instalar se necessário
sudo apt install htop # Ubuntu/Debian
sudo yum install htop # Red Hat/CentOS

Resumo​

Neste capítulo, você aprendeu:

Processo: Instância de um programa em execução
PID/PPID: Identificadores únicos, hierarquia
Ciclo de vida: Created → Ready → Running → Blocked → Terminated
Hierarquia: Árvore com init como raiz
Ferramentas: ps, top, htop para visualizar e monitorar


Próximos Passos​

Capítulo 4.2: Visualização de Processos
Capítulo 4.3: Controle de Processos


Capítulo criado em: Dezembro 2024