Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Agenda:
Introduo
Informaes de um Processo
Comandos
Introduo
Introduo
Nos sistemas operacionais, um processo a forma de
representar um programa em execuo.
o processo que utiliza os recursos do computador processador, memria, etc - para a realizao das tarefas
para as quais a mquina destinada.
Veremos os principais conceitos relacionados a processos
no Linux e as ferramentas usadas para manipul-los e
gerenci-los
Introduo
O sistema operacional lida com uma infinidade de processos
e, por isso, necessrio ter meios que permitam controllos.
Para isso, os
processos contam
com um conjunto
de caractersticas,
dentre as quais:
Proprietrio do processo;
Estado do processo (em espera,
em execuo, etc);
Prioridade de execuo;
Recursos de memria.
Introduo
O trabalho de gerenciamento
de processos precisa contar
com essas informaes e com
vrias outras.
Uma das informaes usadas
atribuir a cada processo um
PID.
Modos de execuo
Em Unix, um
processo
executa em 2
modos:
Cada
processo tem
memria
virtual:
Modo Kernel
Modo User
Execuo
Um programa
pode ser
executado de duas
formas:
1) Primeiro Plano
2) Segundo Plano
Tambm chamado
de foreground.
Tambm chamado
de background.
Foreground
Somente mostrado o
aviso de comando aps o
trmino de execuo do
comando/programa.
Background
Usado quando
no se precisa
esperar o
trmino da
execuo de
um programa
para executar
um novo
comando.
Informaes de um Processo
Informaes de um Processo
Espao de
Endereamento
do Usurio:
Informao de
controle:
texto;
rea-u;
Credenciais:
Variveis de
Ambiente
Contexto de
Hardware:
PC,
UIDs,
SP,
dados;
proc;
PSW (processor
status word),
pilha do
usurio;
pilha modokernel;
mem regs,
GIDs.
memria
partilhada.
mapa de
traduo de
endereos.
FPU regs.
A rea-U
PCB (process control block): armazena o contexto de hardware quando o processo no
est ativo.
pointer to proc;
UID e GID real e efetivo;
argumentos e resultado da syscall corrente;
signal handlers; (manipuladores de sinais)
info sobre texto, dados e pilha, mais gesto de memria;
FD abertos (dinmico ou esttico);
n-v do directrio corrente e do terminal currentel
estatsticas (CPU, profiling, quota);
Pilha modo-kernel.
PID e PPID
PID e PPID
PID e PPID
UID e GID
Conforme j mencionado, cada processo precisa de um
proprietrio, um usurio que seja considerado seu dono.
A partir da, o sistema saber, atravs das permisses
fornecidas pelo proprietrio, quem pode e quem no pode
executar o processo em questo.
Para lidar com os donos, o sistema usa os nmeros UID e
GID.
UID e GID
O Linux gerencia os usurios e os grupos atravs de
nmeros conhecidos como UID (User Identifier) e GID
(Group Identifier). Como possvel perceber, UID so
nmeros de usurios e GID so nmeros de grupos.
UID e GID
Cada usurio precisa pertencer a um ou mais grupos.
Como cada processo (e cada arquivo) pertence a um
usurio, logo, esse processo pertence ao grupo de seu
proprietrio.
Assim sendo, cada processo est associado a um UID e a
um GID.
UID e GID
Os nmeros UID e GID variam de 0 a 65536.
Dependendo do sistema, o valor limite pode ser maior.
No caso do usurio root, esses valores so sempre 0
(zero).
UID e GID
Comandos
Quando um processo
gentil, significa que ele
"oferece a gentileza" de
permitir que um
processo com prioridade
maior que a sua seja
executado antes dele.
Os nveis de gentileza,
tambm chamados de
nice, so determinados
atravs de nmeros.
Por exemplo:
$ nice -n -5 casca
Um exemplo:
$ renice +19 1000 -u goma
Neste caso, o comando renice alterou a prioridade do processo 1000, assim como a prioridade dos processos do
usurio goma.
ps
ps
O ps um comando de extrema importncia para o gerenciamento
de processos.
Por ele, possvel saber quais os processos em execuo
atualmente, quais os UIDs e PIDs correspondentes, entre outros.
Se somente ps for digitado na linha de comando, geralmente o
sistema mostra quais os processos do usurio.
preciso usar uma combinao de opes para obter mais
detalhes.
ps
ps
As opes
mais
importantes
so os
seguintes:
ps
Das opes
relacionadas, a
combinao mais
usada aux:
$ ps aux
Como exemplo, o
resultado obtido
com esse
comando foi o
seguinte:
ps
Usando a combinao
lax, o resultado mostra
mais detalhes:
$ ps lax
ps
UID - nmero de identificao do usurio dono do processo;
PID - nmero de identificao do processo;
ps
TIME - tempo de processamento j consumido pelo processo;
COMMAND - nome do comando que executa aquele processo;
PRI - valor da prioridade do processo;
NI - valor preciso da prioridade (geralmente igual aos valores de PRI);
WCHAN - mostra a funo do kernel onde o processo se encontra em
modo suspenso;
ps
STAT - indica o
estado atual do
processo, sendo
representado por
uma letra:
Essas letras
podem ser
combinadas e
ainda acrescidas
de:
R - executvel;
D - em espera no disco;
S - Suspenso;
T - interrompido;
Z - Zumbi.
jobs
O comando jobs mostra os processos que
esto parados ou rodando em segundo plano.
Processos em segundo plano so iniciados
usando o smbolo & no final da linha de
comando
O nmero de identificao de cada processo parado
ou em segundo plano (job), usado com os
comandos fg e bg.
Um processo interrompido pode ser finalizado usandose o comando kill %[num], onde [num] o nmero do
processo obtido pelo comando jobs.
Exemplo vi&
Parando um programa
Para iniciar um programa em primeiro plano,
basta digitar seu nome normalmente.
Para iniciar um programa em segundo plano,
acrescente o caracter & aps o final do
comando.
Mesmo que um usurio execute um programa
em segundo plano e saia do sistema, o programa
continuar sendo executado at que seja
concludo ou finalizado pelo usurio que iniciou a
execuo (ou pelo usurio root).
Exemplo: find / -name boot.b &
fg
Permite fazer um programa rodando em segundo
plano ou parado, rodar em primeiro plano.
Voc deve usar o comando jobs para pegar o
nmero do processo rodando em segundo plano
ou interrompida, este nmero ser passado ao
comando fg para ativa-lo em primeiro plano.
fg [nmero]
Onde nmero o nmero obtido atravs do comando
jobs.
bg
Permite fazer um programa rodando em primeiro
plano ou parado, rodar em segundo plano.
Para fazer um programa em primeiro plano rodar em
segundo, necessrio primeiro interromper a
execuo do comando com CTRL+ Z, ser mostrado o
nmero da tarefa interrompida, use este nmero com
o comando bg para iniciar a execuo do comando em
segundo plano.
bg [nmero]
Onde: nmero nmero do programa obtido com o
pressionamento das teclas CTRL+Z ou atravs do comando
jobs.
ps [opes]
Onde:
a
top
Mostra os programas em execuo ativos, parados, tempo
usado na CPU, detalhes sobre o uso da memria RAM, Swap,
disponibilidade para execuo de programas no sistema, etc.
top um programa que continua em execuo mostrando
continuamente os processos que esto rodando em seu
computador e os recursos utilizados por eles.
Para sair do top, pressione a tecla q.
top
top [opes]
Onde:
-d [tempo ] Atualiza a tela aps o [tempo] (em
segundos).
-s Diz ao top para ser executado em modo seguro.
-i Inicia o top ignorando o tempo de processos
zumbis.
-c Mostra a linha de comando ao invs do nome do
programa.
A ajuda sobre o top pode ser obtida dentro do
programa pressionando a tecla h ou pela pgina
de manual (man top).
top
possvel manipular alguns recursos do
comando top atravs das teclas do teclado.
Fuser
O comando fuser
mostra qual
processo faz uso de
um determinado
arquivo ou diretrio.
Entre as opes,
tem-se:
Sua sintaxe :
fuser -opo caminho (do arquivo ou diretrio)
pstree
Esse comando mostra
processos relacionados
em formato de rvore.
Sua sintaxe :
pstree -opo PID
NOHUP
O comando nohup possibilita ao processo ficar ativo mesmo quando o
usurio faz logout.
da natureza dos sistemas baseados em Unix interromper processos
caso seu proprietrio no esteja mais ativo, por isso, o nohup pode
ser muito til.
Sua sintaxe :
nohup comando
ls
Lista os arquivos de um diretrio.
3
onde:
caminho/arquivo Diretrio/arquivo que ser
listado.
caminho1/arquivo1 Outro Diretrio/arquivo que
ser listado. Podem ser feitas vrias listagens de
uma s vez.
ls
opes
-a, all Lista todos os arquivos (inclusive os ocultos) de um
diretrio.
-A, almost-all Lista todos os arquivos (inclusive os ocultos) de
um diretrio, exceto o diretrio atual e o de nvel anterior.
-B, ignore-backups No lista arquivos que terminam com ~
(Backup).
color=PARAM Mostra os arquivos em cores diferentes,
conforme o tipo de arquivo. PARAM
pode ser:
never - Nunca lista em cores (mesma coisa de no usar o parmetro
color).
always - Sempre lista em cores conforme o tipo de arquivo.
auto - Somente colore a listagem se estiver em um terminal.
la
ls -la
free
time ls
Sinais de Processos
Sinais de Processos