Escola SENAI “Suíço-Brasileira”
Componente Curricular
Sistemas Operacionais - SOP
Linux
Agenda - 8ª Parte
• Gerenciamento de processos:
–
–
–
–
Definição de processo;
Atributos de um processo;
Classificação de processos;
Comandos para o gerenciamento.
• Duração: 3 horas
Definição de processos
• Processo é um programa em execução;
• Definição do ponto de vista do SO:
– Estrutura responsável pela manutenção de todas
as informações necessárias a execução de um
programa.
• Processos são entidades independentes.
– Possuem permissões de acesso;
– e atributos como:
Definição de processos
• PID - Process Identification;
• O Linux é responsável por gerenciar
processos para uma melhor otimização do
uso da CPU;
• No diretório /proc é criado um subdiretório
para cada processo em execução;
• Os nomes desses diretórios são os PIDs
desses processos.
Atributos de um processo
Atributo Descrição
PID
Identifica um processo em execução.
PPID
Identifica o processo pai que gerou o processo filho.
UID
Identifica o usuário que gerou o processo. Somente o
root pode cancelar processos de outros usuários.
Identifica o grupo ao qual pertence o processo
GID
Classificação de processos
• Quanto a execução os processos podem ser
classificados em:
– Foreground - primeiro plano:
•
•
•
•
podem interagir com o usuário;
resultados são exibidos no vídeo;
são inicializados no terminal de comandos;
esses processos “prendem” o prompt.
Classificação de processos
– Background - segundo plano:
•
•
•
•
são inicializados no terminal de comandos;
não podem interagir com o usuário;
não exibem a sua execução no vídeo;
esses processos não “prendem” o prompt.
Classificação de processos
• Quanto ao tipo, os processos no Unix
podem ser classificados em:
– Processos interativos:
• são iniciados a partir de uma sessão de usuário no
terminal de comandos e são controlados por ele;
• quando um comando do shell é executado, um
processo em foreground é executado;
– Processos em lote - batch;
Classificação de processos
– Daemons:
• São processos servidores normalmente executados
quando o Linux é inicializado, permanecendo em
execução enquanto o sistema estiver em
funcionamento esperando em background que outro
processo solicite o seu serviço.
Comandos para o gerenciamento
•
•
•
•
<CTRL> + <C>: aborta um processo;
jobs: exibe os jobs em execução pelo shell;
jobs [opções]
-l exibe o nome e o número de cada
processo;
• -s exibe o nome de cada processo;
• -p exibe o número de cada processo;
• $ jobs -l
Comandos para o gerenciamento
•
•
•
•
ps: exibe informações sobre os processos ativos;
ps [opções]
-a exibe também informações de outros usuários;
-u exibe o nome do usuário e a hora de início do
processo;
• -x exibe também os processos não associados a um
terminal de controle
• -p <pid> exibe o processo cujo número é pid;
• $ ps -aux | more
Comandos para o gerenciamento
•
•
•
•
•
•
•
•
•
pstree: exibe os processos em formato de árvore;
pstree [opções] [pid]
-a exibe argumentos de linha de comando;
-c não compacta subárvores;
-l exibe linhas detalhadas;
-n classifica a saída pelo pid;
-p exibe o processo cujo número é pid;
$ pstree -c | more
$ pstree -cl | more
Comandos para o gerenciamento
•
•
•
•
pidof: exibe o PID do processo informado;
pidof [opções] <processo>
-s só retorna um pid;
-x retorna o pid do shell que está
executando o script informado;
• $ pidof login
• $ pidof vim
Comandos para o gerenciamento
• top: exibe os processos com maior consumo de CPU;
• top [opções]
• -u <usuário> exibe processos pertencentes ao usuário
especificado;
• -U <usuário> não mostra processos pertencentes ao usuário
especificado;
• -d <n> refresh de vídeo a cada n segundos;
• -t <tty> exibe processos do terminal especificado;
• $ top
• $ top -q
• $ top -v
• $ top -d 5
Comandos para o gerenciamento
•
•
•
•
•
•
•
free: exibe a quantidade de memória livre;
free [opções]
-b exibe informações em bytes;
-k exibe informações em Kbytes;
-m exibe informações em Mbytes;
-s <n> atualiza dados de n em n segundos;
$ free -s 10
Comandos para o gerenciamento
• vmstat: exibe estatísticas de utilização de
memória virtual;
• vmstat [opções]
• -n informações estáticas;
• -V exibe a versão do comando;
• $ vmstat
• $ vmstat -n
Comandos para o gerenciamento
•
•
•
•
•
•
kill: finaliza um processo pelo pid;
kill [opções] [sinal] <pid>
-n sinal aplicado ao processo;
-l lista todos os nomes e números de sinais;
$ ps -aux
$ kill -9 1029
Comandos para o gerenciamento
•
•
•
•
•
killall: finaliza processos por nome;
killall [opções] [sinal] <pid>
n sinal aplicado ao processo;
-l lista todos os nomes e números de sinais;
$ killall -9 kde
Comandos para o gerenciamento
• nice: executa um processo com uma prioridade
diferente da padrão;
• nice [opções] <prioridade> <comando>
• -- help exibe uma msg de ajuda;
• -- version exibe a versão do comando;
• <prioridade> quanto maior este valor, menor será
a prioridade de escalonamento do processo.
Variam de -20 a +19. O padrão é -10;
• $ nice -4 find / -name kde
Referência Bibliográfica
• Livro:
–
–
–
–
–
Linux: Guia do Administrador do Sistema
Rubem E. Ferreira
Editora Novatec
São Paulo, 2003
Capítulo 14
Download

linux 8 parte