Buscar

3 Processos em Linux

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Gerência de Processos
Administração de Sistemas Abertos
Professor:
Anderson Costa
E-mail:
anderson@ifpb.edu.br
Definição
“Um processo é uma instância de um programa em 
execução em um computador”
Criação de Processos no SO
 Primitiva fork
Identificação
 PID
 Número de identificação do processo
 Inteiro não negativo
 PPID
 Número de identificação do pai do processo
M
e
m
ó
r
i
a
Init
(Init)
Proc A
fork()
(Proc A)
Proc B
fork()
Init (PID=1)
Proc A (PID=2, PPID=1)
Proc B (PID=3, PPID=2)
Proc C (PID=4, PPID=2)
(Proc A)
Proc C
fork()
Estados de um processo
Executável (Running ou Runnable)
 Processo está ativo, podendo estar rodando ou esperando 
por tempo de processador
Parado (Stopped)
 Processo suspenso por um processo externo
Dormindo (Sleep)
 Processo está esperando um evento externo
 Leitura de dados do HD
 Entrada de dados via terminal
Zumbi (Zombie)
 Processo terminou a execução, mas não teve seu status de 
saída coletado
Prioridade de processos
 Processos possuem um valor de niceness (gentileza)
 Indica o tratamento que deve ser dado ao processo
 Valores de -20 a +19
 Quanto maior mais “gentil” será o processo, isto é, menor 
a sua prioridade
 Filhos herdam niceness dos pais
 Usuários não podem mudar niceness acima do original
 Root pode
 Comando nice
 Utilizado na criação do processo
 nice -n 5 cp /backup.tar.gz /home/asa/backup/
 O valor passado é um ajuste ao atual, isto é, o valor de niceness final 
será atual+5, no exemplo.
 Comando renice
 Utilizado quando o processo está em execução
 renice 5 4389
 Valor passado é o valor final, o outro valor é o PID
Listagem de processos
 Comando ps
 m
 Mostra nomes dos processos de Kernel entre colchetes
 ps aux
 Mostra percentual de memória e CPU ocupados, dono, 
PID, Estado...
 ps lax
 Mostra outras informações técnicas: PID, PPID, Nice, 
Estado...
 ps -eo cdm,ppid,pid
 Mostra apenas o comando, o PPID e o PID, nesta 
ordem.
 Comando top
 Mostra os processos de maneira dinâmica
 Comando pstree
 Mostra a árvore dos processos
 Pais e seus respectivos filhos
 Forma comum: pstree -A
Listagem de processos
 Comando ps aux
Listagem de processos
 Comando 
ps lax
Listagem de processos (ps)
• Informações sobre processos e seus atributos.
ps (processos do usuário).
ps -a (todos os processos).
ps -e (variáveis do Linux ligadas ao processo).
ps -f (árvore de processos).
ps -l (mais campos são exibidos).
ps -m (memória ocupada pelo processo).
ps -u (usuário e hora de início do processo).
ps -x (processos sem terminais).
ps -w (informações muito grandes na linha seguinte).
Listagem de processos (Campos do ps)
• USER – nome do dono do processo.
• UID – número do dono do processo.
• PID – identificação do processo.
• PPID – identificação do processo pai.
• %CPU - % de cpu usado pelo processo.
• %MEM - % de memória usada pelo processo.
• VSZ – tamanho virtual do processo.
• RSS – quantidade de memória usada.
• TTY – identificador do terminal do processo.
• START – hora que o processo iniciou.
• TIME – tempo que o processo está rodando.
• COMMAND – nome do comando que executa o processo.
• PRI – valor da prioridade do processo.
• NI – valor preciso da prioridade.
• WCHAN – função do kernel onde o processo está no modo suspenso.
Listagem de processos (Campos do ps)
• STAT – indica o estado atual do processo que pode 
assumir uma das seguintes letras:
 R – executando
 D – esperando o disco
 S – suspenso (dormindo menos que 20s)
 T – interrompido (parado)
 Z – zumbi
Flags adicionais
 W – processo com página em disco
 < - prioridade maior do que o comum
 N – prioridade menor que o comum
 L – alguns recursos bloqueados pelo kernel
Listagem de processos (Estados) - STAT
D processo dormindo interruptamente (normalmente IO)
R running ( na fila de processos)
S dormindo interruptamente (aguardando um evento terminar)
T parado, por um sinal de controle
Z zombie, terminado mas removido por seu processo pai
X processo morto
Junto a essas letras podemos encontrar outros caracteres cujos 
significados são:
> o processo está rodando com prioridade maior que a padrão, tendo sido 
definida pelo kernel
< o processo está rodando com prioridade menor que a padrão, tendo sido 
definida pelo kernel
+ o processo é um processo pai, ou seja, possui processos filhos
s o processo é um session leader, ou seja, possui processos que dependem 
dele
l o processo possui múltiplas threads
L o processo possui páginas travadas na memória
N o processo foi definido com uma prioridade diferente da padrão, tendo 
sido definida pelo usuário
Listagem de processos (Opções do top)
top -d 30 (atualiza o top a cada 30 segundos).
top -c (exibe a linha de comando).
top -i (não mostra processos zumbis).
Barra de espaço (atualiza o top na hora).
q (top termina)
h (help do top)
Comandos FUSER e NOHUP
fuser: Exibe e acessa o processo que utiliza determinado 
arquivo ou diretório.
 fuser -v caminho (mostra os processos).
nohup: Processo fica ativo mesmo quando o usuário faz 
logout.
 nohup comando demorado.
Finalização de processos (1)
Comando kill
 Utilizado para enviar sinais para processos 
específicos
 Precisa saber o PID do processo
 Sinais mais comuns
 INT (2): Interrompe a execução da operação atual do 
programa
 Ocorre quando usamos Ctrl+c
 TERM (15): Termina o processo completamente
 Opção default do kill
 KILL (9): Mata o processo em nível de Kernel
 Usado em situações críticas
 STOP: Coloca o processo em estado parado
 Ocorre quando usamos Ctrl+z
 CONT: Retorna um processo parado
Finalização de processos (2)
Comando kill
 Exemplo
 kill -9 8195
 kill 8121
 kill -stop 4230 (faz o processo 4230 parar)
 kill -cont 4220 (continua processo 4220)
 kill -stop -1 (para todos os processos)
Comando killall
 Mata os processos pelo nome
 Utiliza os mesmos conjuntos de sinais
 Exemplo
 killall bash
 killall -9 processo-relutante
Foreground e o Background (1)
Processos em background são aqueles que não estão 
atrelados a um terminal
 Serviços
 Processos demorados
 Quando temos apenas um terminal disponível
Processo de Foreground está atrelado ao terminal
 Usualmente cada terminal possui um único processo em 
foreground
 Pode ter outros em foreground mas parados
ForegroundBackground
Foreground e o Background (2)
 Para iniciar um processo em background adicionar & ao final do 
comando
 tar xzf backup.tar.gz &
 cp /home/user /media/backup/
 comando jobs
 Lista os processos em parados ou em background
 Atribui um número para cada processo
 comando fg +<num>
 Traz os processos para o foreground
 comando bg +<num>
 Coloca processos em background
 Os processos precisam estar anteriormente parados
 Uso do Ctrl+Z fg
bg
ForegroundBackground
Gerência de Processos
Administração de Sistemas Abertos
Professor:
Anderson Costa
E-mail:
anderson@ifpb.edu.br

Outros materiais