Gerenciamento de Processos



Documentos relacionados
Gerenciamento de Processos

Gerenciamento de Processos

PROCESSOS COMPONENTES DE UM PROCESSO. A execução de um processo possui vários componentes. PID e PPID

Processos Prof. João Paulo de Brito Gonçalves

Laboratório de Sistemas Operacionais

Gerenciamento de Boot

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti

Sistema Operacional Unidade 7.2 Gerenciamento de Processos. QI ESCOLAS E FACULDADES Curso Técnico em Informática

7 Processos. 7.1 Introdução

Administração de Redes I Linux Prof: Frederico Madeira <fred@madeira.eng.br> Lista de Exercícios 3

Arquitetura de Sistemas Operacionais

Aula 4 Comandos Básicos Linux. Prof.: Roberto Franciscatto

Sistemas Operacionais. Prof. André Y. Kusumoto

Processos. Adão de Melo Neto

Processos e Threads (partes I e II)

Gerência de processos Requisitos fundamentais

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS COTAS DE DISCO. Professor Carlos Muniz

Sistemas Operacionais

Lista de exercícios - P2

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Aula 27 - Agendamento de Tarefas (CRONTAB)

I N F O R M Á T I C A. Sistemas Operacionais Prof. Dr. Rogério Vargas Campus Itaqui-RS

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL

Administração de Sistemas GNU/Linux

Configure seu Linux pela Web! Instalação à partir de um.tar.gz. Autor: Carlos Eduardo Ribeiro de Melo <eduardo at unisulma.edu.br> Data: 05/10/2004

Instalação e configuração Linux CentOS 6.x

SOFTWARE LIVRE. Distribuições Live CD. Kernel. Distribuição Linux

CONFIGURAÇÃO DE REDE SISTEMA IDEAGRI - FAQ CONCEITOS GERAIS

Documentação Symom. Agente de Monitoração na Plataforma Windows

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇOS IMPRESSÃO. Professor Carlos Muniz

Agente local Aranda GNU/Linux. [Manual Instalación] Todos los derechos reservados Aranda Software [1]

Administrando o sistema linux TCP/IP

Programação para Dispositivos Móveis

LINX POSTOS AUTOSYSTEM

Manual do KSystemLog. Nicolas Ternisien

No Fedora, instalamos os pacotes "mysql" e "mysql-server", usando o yum:

OpenSSH

Faculdade de Tecnologia SENAC Goiás. Disciplina: Gerenciamento de Rede de Computadores. Goiânia, 16 de novembro de 2014.

Sistemas Operacionais de Rede Linux - Gerenciamento de Arquivos

SISTEMAS OPERACIONAIS DE ARQUITETURA ABERTA

Procedimentos para Instalação do SISLOC

Ilustração 1: Componentes do controle de acesso IEEE 802.1x

MANUAL DO ADMINISTRADOR LOCAL. Entidade Municipal

UM PBX GENUINAMENTE BRASILEIRO

Sumário. Introdução ao Universo Linux Parte I

Necessidades de Gerenciamento: Software de Gerenciamento:

Para testar se as variáveis foram carregadas, utilize o comando #export

CONHECIMENTOS ESPECÍFICOS TÉCNICO DE LABORATÓRIO / ÁREA INFORMÁTICA

GUIA INTEGRA SERVICES E STATUS MONITOR

Tutorial de instalação do Debian Rudson Ribeiro Alves

EAI Manual do Administrador

Monitoramento no Linux Avaliação de desempenho. Prof: Paulo Maciel Instrutor: Jamilson Dantas

O Sistema foi inteiramente desenvolvido em PHP+Javascript com banco de dados em MySQL.

Manual de utilização do sistema de envio de sms marketing e corporativo da AGENCIA GLOBO. V

TUTORIAL PASSO A PASSO INSTALAÇÃO SERVIDOR DE SMS PARA MKAUTH

LINX POSTOS AUTOSYSTEM

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software

Manual do Google agenda. criação e compartilhamento de agendas

Sistemas Operacionais

MANUAL MIKOGO 1. VISÃO GERAL

Sistemas Operacionais Aula 01

Manual do Atendente. Treinamento OTRS Help Desk

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

ENDEREÇOS DE REDE PRIVADOS até até até Kernel

Introdução a Computação 07 Sistemas operacionais. Márcio Daniel Puntel marcio.puntel@ulbra.edu.br

Sistemas Operacionais

TUTORIAL VMWARE WORKSTATION 8. Aprenda a instalar e configurar corretamente uma máquina virtual utilizando VMware Workstation com este tutorial

Omega Tecnologia Manual Omega Hosting

Procedimentos Operacionais Ambiente Microsoft Windows 2000 Server Máquina Smart02 ADM

DarkStat para BrazilFW

Manual de Instalação do Agente Citsmart

Tópicos Especiais em Redes de Computadores. Super Servidor (Xinetd) Professor: Alexssandro Cardoso Antunes

Configuração do Servidor DHCP no Windows Server 2003

Máquina de estados UNIX O

Máquina de estados UNIX O. Sistemas Operacionais 2008/1Profa. Patricia S.O. computação: recursos D. S.O S.O. controla eventos no sistema de

Documento de Instalação e Configuração do InfoGrid

Módulos...2 Shell...3

838 - Linux - administração. Administração avançada do Linux

Gerência de Processador

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Operacionais de Rede. Configuração de Rede

MANUAL DE UTILIZAÇÃO

Como obter Ajuda. Mensagens do sistema. Acessar. Ícones do painel de controle

Guia Sphinx: instalação, reposição e renovação

possível até impedir o funcionamento do Windows. Faz-scuidado redobrado ao ativar determinados recursos.

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

Instalando o Debian em modo texto

Transcrição:

- Um Processo é um Programa em Execução com todos os recursos necessários para este fim. - Cada Processo, quando em execução, enxergar como sendo possuidor de todos os recursos do sistema. - O Linux é um Sistema Preemptivo, isto que dizer que um processo entra e sai do modo de execução a qualquer momento. - O Agendado de Tarefas ou Scheduler de Sistema Operacionais modernas geralmente possuem três estados: Pronto, Em Execução e Em Espera (Bloqueado).

- Ao se Executar um Programa, este entra na Fila (queue ) de execução. Cada Processo possue uma fatia (slice) de tempo para ser executado, terminada esta ele adormece volta para fila de processo e aguarda sua vez. - O Processo pode bloquear (em espera) caso faça acesso a algum dispositivo de I/O (E/S). - Ao se terminar a execução de um processo ele é retirado da fila de execução e todo os recursos alocados a ele são liberados.

Imagem Retirada em: http://lrodrigo.lncc.br

- Um processo pode criar filhos. Um processo que cria filhos é chamado processo pai e os filhos são threads ou processo filhos. - Threads são linhas de execução do processo pai, e estas compartilham com o processo pai arquivos e memória. - O Linux trata processos e threads como iguais, o thread é considerado um processo que compartilha recursos com o processo que o criou. - Processos filhos são mortos quando o processo pai é morto. Processos filhos que não finalizam quando o processo pai é finalizado são chamados de processos zombie.

- Podemos Iniciar, Pausar, Retomar, Recarregar, parar, matar priorizar, sinalizar, consultar e jogar em segundo plano um processo. - Para conversar com um Processo nos sinalizamos o processo. - Cada Processo possue um número identificador único chamado PID (Process ID). - Para visualizar todos os processos em execução podemos utilizar por exemplo o comandos 'ps aux' - O kernel cria um diretório para cada processo sobre o diretório virtual /proc. Verifique listando todos os arquivos do diretório /proc.

Principais Comandos para Gerenciamento de Processos. Consulta - ps, pstree, top, fuser, pidof e lsof Sinalização - kill e killall. Prioridade - nice e renice Segundo Plano - fg, bg e jobs (plano de execução)

- Para gerenciar processos geralmente listamos e consultamos seu PID e então executamos alguma ação sobre ele através de sinalização. - Cada Processo criado possue um diretório no /proc com informações a respeito dos recursos alocados para este processo. - O processo de PID 1 é o primeiro processo de inicialização, geralmente é o comando init. - init é o pai de todos os processos do sistema. Um PID é atribiuido dinamicamente a um processo e é único durante a vida do sistema.

- ps Lista os processos do sistema trazendo informações sobre seu estado (PID, tempo de execução, estado, nome do usuário owner, consumo de CPU e memória. Ex.: ps aux todos os processos ps l outras informações ps f arvore de processos ps -o pid,user,comm ps -C nome_de_um_comando_a_ser_monitorado ps user root lista processo de um usuário

Estados dos Processos (stats) (ps a) S Em Espera (Sleeping) D Lista processos blocked R Fila de execução T - Parado W - Paginando X - Morto Z Zumbi

Prática Alterne o console corrente (alt+f2), logue no sistema com uma conta que não seja o root, execute o editor vi/vim (vi) e volte para o console anterior (alt+f1). - Liste todos os processos e encontre nesta listagem o Processo do usuário que executou o vi. - Liste apenas o processo vi. - Liste todos os processos apenas do usuário que iniciou o vi. - Liste apenas o PID de todos processos. - Liste apenas o login do usuário e o comando completo dos processos.

- pstree Árvore de Processos visualizar relação de processos pai e filho. Opções: -p Mostra PID -a Linha de Comando Completa do Processo Ex.: pstree -p pstree -a

- top Monitoração interativa de processos. - Opções: -d define intervalo de atualização -u monitorar processos de um determinado usuário - Alguns comandos de Utilização: <Enter> - Atualiza Lista de Processos P Ordenar pelo Uso de CPU M Ordenar pelo uso de Memória d Alterar Intervalo de Atualização u Monitra processo de um usuário r Altera Prioridade (renice) k Mata Processo (kill)

Prática Liste todos os processos no formato de árvore e redirecione o resultado para o arquivo /tmp/lista_processos_arvore Com o top mostrar o status dos processos em um intervalo de 1s (um segundo) ordenado pelo uso do Processador. Iniciar o vi em outro Console (alt+f2) e verificar o PID deste, e matar (kill) este processo no primeiro console (alt+f1). Monitorar apenas os processos do usuário root. Ordenar a Lista de Processos por uso de CPU e logo depois pelo uso de memória.

- fuser Lista PID dos processos que estão acessando determinado arquivo ou socket. -a Mostra os arquivos -u Mostra o PID e o usuário -v Mostra formato ps -k Finaliza processo que usam o arquivo Ex.: fuser /bin/bash fuser -v /

Prática Usando o fuser todos os processos, no formato ps, que estão acessando os arquivos: /bin/bash, /dev/null, /root, /dev/psaux, /dev/tty1, /var/log/messages, /etc/inittab. Crie um Arquivo (usando o vi) com nome arquivo_de_teste e verifique (em outro console - alt+f2) os processos que estão acessando a este. Mate (kill) os processos que estão utilizando este determinado arquivo.

Modo de Acesso (fuser -v) c diretorio e sendo executado f arquivo aberto F aberto para escrita r diretorio de root m memoria compartilhada

- pidof Mostra o PID do processo correspendo (nome). -x Pesquisa também nomes de Shell scripts Ex.: pidof init pidof login pidof udevd pidof vi - lsof Lista arquivos abertos e os processos donos destes Ex.: lsof

- kill (sinalizador de processos) Sinaliza um Processo. Geralmente utilizado para matar um processo. O Sinal padrão do kill é o 15 (SIGTERM) que é uma forma educada de pedir ao processo que termine. O Extremo do kill é o kill -9, onde o processo é morto a queima roupa. O Processo é finalizado e não pode salvar arquivos que esta trabalhando Opções: -l lista todos os sinais Ex.: kill -l

- killall Envia Sinalização a um ou mais processos de mesmo nome. -i modo interativo -v mostra mensagens (verbose mode) -w esperar os processo finalizarem.

Alterne o console corrente (alt+f2), logue no sistema com uma conta que não seja o root, execute o editor vi e volte para o console anterior (alt+f1). - Liste todos os processos e encontre o Processo do usuário que executou o vi. - Sinalize para que o processo vi criado seja terminado educadamente). Utilize o comando kill. - repita a operação de executar o editor vi, busque seu PID e sinalize para que este seja morto a queima roupa. Utilize o comando kill. - utilize do comando killall para executar as mesmas tarefas acima descrita.

- nice Inicia o Programa com a Prioridade especificada. Um Programa com prioridade máxima possue mais tempo de processamento. Opções: -n Valor da prioridade Prioridade: -20 Prioridade Maxima -10 Prioridade Alta 0 Prioridade Normal 10 Prioridade Baixa 19 Prioridade minima Ex.: nice -n -19 vi

- renice Modificar a prioridade em tempo-real -p faixa de valor de PID -u processos de um usuario especifico Ex.: renice 20 PID DO PROCESSO

Prática - nice e renice Inicie o vi com prioridade minima em um outro console (alt+f2), usando o top verifique apenas a prioridade deste processo, modifique a prioridade deste para maxima e finalize este sinalizando com SIGTERM (15) utilizando o comando top ou kill. Inicie o vi com prioridade máxima em um outro console (alt+f2), usando o ps verifique apenas a prioridade deste processo.

- fg, bg e jobs Com os comandos fg e bg é possivel colocar um processo em segundo plano (plano de execućão) Para isto, inicie um programa e pare este com SIGSTOP (CTRL+Z), execute o bg para que o processo continue sua execućão em segundo plano. Para trazer este para primeiro plano utilize o fg. Experimente fazer isto com o comando nano Outra forma de Executar um comando em segundo plano é utilizar & Ex.: vi & ls /bin & Creative Commons - 2008

Prática - Liste todos os processos do usuário root mostrando apenas as informações de pid, usuário e comando. Direcione a saída para o arquivo /tmp/revisao2_processo. - Mostre todos os processos em formato de árvore. - Liste todos os processos que estão utilizando o arquivo /bin/bash e direcione (concatenando) o resultado para o arquivo /tmp/revisao2_processo. - Altere a Prioridade do Processo login ou init para Máxima e depois minima. - Usando o top visualize todos os processos em um taxa de atualização de 10s (dez segundos) e ordenado pelo uso de CPU. Altere a prioridade do processo que esta no topo desta lista para Máxima. Creative Commons - 2008

Gerenciamento de Serviços - Um serviço é um programa especial que provê determinadas funções ao sistema. - Serviços também são chamados de daemons e são executados em segundo plano (background). - Serviços em geral esperam por requisições em portas especificadas nas RFC. - Exemplos de Serviços são o Serviço de Mouse (GPM), Crontab (Agendamento de Tarefas, Servidores de FTP, Web (Apache), POP3 (Sendmail), Gerenciamento Log (syslog), Sistemas Gerenciadores de Banco de Dados (MySQL, PostgreSQL, Oracle e etc.). - Serviços podem ser dependentes ou indepedentes de um servidor de serviços (inetd).

Gerenciamento de Serviços - Cada serviço possue um script para sua gerencia (initscripts) e inicialização. - Estes initscripts geralmente residem no diretório /etc/init.d. (ex.: sh /etc/init.d/cron) - Existe um comando para facilitar a gerencia dos scripts em Distribuições Red Hat-Like como o CentOS e OpenSuse. O comando é o service. Ex.: service cron Ações Comuns: start stop status reload

Gerenciamento de Serviços - Ações sobre Serviços start inicia o serviço stop parar o serviço status reportar o status restart reinicia o serviço reload reinicia o serviço sem tirar-lo de execução Ex.: service cron status service cron stop service cron start service cron reload

Gerenciamento de Serviços Prática - Faça sobre o Serviço atd (Agendamento Tarefa) e acpid (Gerencia Energia) - Verificar os status destes serviços - Verificar se o processo esta ativo na lista de processos (ps) - Interromper estes serviço - Iniciar novamente estes serviços - Recarregue este serviço sem parar o mesmo.

Gerenciamento de Serviços - chkconfig Ferramenta em Linha de Comando para gerenciar a inicialização dos serviços durante a inicialização do sistema. Ex.: chkconfig --list chkconfig --list cron chkconfig cron off chkconfig cron on chkconfig cron 4

Gerenciamento de Serviços - Verifique se o serviço atd e gpm estão configurado para iniciar durante a inicialização. Caso negativo adicione estes serviços (atd e gpm) a lista de Inicialização do Sistema. - Re-inicie o sistema e liste os processos e verifique se o atd e gpm foram ativados. - Liste todos os Serviços que podem ser inicializando durante o boot do sistema, filtre a saida deste comando (grep) buscando a ocorrencia da palavra on e redirecione o resultado para o arquivo /tmp/resultadopraticaservico

Gerenciamento de Serviços - Verifique o estado (status) dos serviços: atd e xinetd e direcione a saída (concatenado) destas consultas no arquivo /tmp/revisao2_servico - Altere o serviço atd e gpm para que este inicialize no runlevel (nivel de execução) 4 (quatro). Liste os serviços em detalhe direcionado o resultado para /tmp/revisao2_servico Dica OpenSuse: yast2