Gestão de processos. Processos. Processo Comando ps Comando top Comando nice Comando kill. José Pedro Oliveira (jpo@di.uminho.pt)



Documentos relacionados
Gestão de processos. José Pedro Oliveira.

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

Everson Santos Araujo

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

A D M I N I S T R A Ç Ã O D E S I S T E M A S / P E D R O B R A N D Ã O REFERÊNCIAS DOS SLIDES

SISTEMAS OPERACIONAIS DE ARQUITETURA ABERTA

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

Laboratório de Sistemas Operacionais

Comunicação entre Processos 9/21/17 1

Gerenciamento de memória virtual no Kernel Linux conceitos básicos

Gerenciamento de Processos

Administração de sistemas Linux. Administração de processos.

Segurança de Software: Testes de Caixa Preta

Gerenciamento de Processos

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

SISTEMAS OPERACIONAIS

Programação em Shell Script (Linux Administration) Jacson RC Silva <jeiks>

Planeamento. Introdução ao Sistema Operativo UNIX. Java: Ferramentas, Entradas/Saídas, Excepções. Threads e Semáforos. Problemas de Sincronização

Compreenda a utilização da alta utilização da CPU relatada pelo vmanage para o vedge 5000/1000/100B e as Plataformas da nuvem do vedge

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

Comandos TOP, PS e PSTREE

Gerenciamento de Processos

Processos. Volnys Borges Bernal. Edson Toshimi Midorikawa

Grupo 5 - SELinux. Aníbal Leite Nuno Cardoso

Processamento com SPOOL. Utilização do CPU e periféricos. Perfis dos programas. Exemplo IBM 1460 (1963) Problemas no escalonamento.

Aspectos de Sistemas Operativos

Sinais: eventos assíncronos

Tópicos Especiais em Linguagens de Programação Shell Script Processos

Lsof List Open Files. O que é o Lsof? Opções Conclusão

Minicurso Básico de Linux

Programação de sistema UNIX

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

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

Tratamento de sinais em sistemas UNIX

Aula 06 Comandos Linux Gerenciamento de Privilégios e Processos Gerenciamento de Processos

TE244 - Sistemas Operacionais Lista Exercícios 1

Eventos. Rotinas Assíncronas

Comandos para manipulação de arquivos

Descrição. Termos e utilitários. Áreas em foco. Processos. Processos. Comandos GNU e Linux

Linux Essentials. Managing Package and Process

Processos e Sinais - Linux

Tratamento de Sinais

Conceitos e Chamadas de Sistema

GNU/Linux/Bash. Aula 2

Curso: Linux Fundamentos

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

Linux: sistema de ficheiros virtual

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

Processos. Estados principais de um Processo: Contexto de um Processo. Nível de um Processo.

Simulado LPI Qual o comando que exibe a última vez em que o sistema de arquivos foi verificado. dumpe2fs

Manual de Comando Linux

Integração de Sistemas Embebidos MECom :: 5º ano

CET GRSI Sistema Operativo de Rede. António Paulo Santos

Sinais. Sinais e fork. Sinais e exec. Segunda aula. Chamada ao sistema fork Chamada ao sistema execve. José Pedro Oliveira

Curso Tecnológico de Informática Matriz de Exame de Equivalência de Tecnologias Informáticas Prova Prática - Código 259

SVCs para Controle de Processos no Unix. Sistemas Operacionais

Universidade Católica de Brasília Laboratório de Redes de Computadores 1 Prof Eduardo Lobo. Comandos LINUX. principais vi ifconfig.

Guia de Troubleshooting do uso da alta utilização da CPU do nexo 7000

UFRJ IM - DCC. Departamento de Ciência da Computação. Sistemas Operacionais II. 25/10/2016 Profª Valeria Menezes Bastos 1

Sistema Operacional LINUX

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

Android Core. Felipe Silveira felipesilveira.com.br. Aula 5

O Manual do System Monitor. Chris Schlaeger John Tapsell Chris Schlaeger Tobias Koenig Tradução: José Pires

Capítulo 8. Software de Sistema

Sistemas de Detecção e Prevenção de Intrusão

Linux Administração. Sobre o curso. Destinatários. Redes e Sistemas - Sistemas Operativos

Programação de Sistemas

Sistemas Operacionais Prof. André Y. Kusumoto

Processos em Unix. Conteúdo: Definição de Processos em Unix Estrutura, tipo e escalonamento de processos em Unix Processos, Pai, Filho e Zumbi.

Sistemas Operacionais Profa. Roberta Lima Gomes ROTEIRO LAB File System

Instalação e Configuração de Servidores Linux Server Gerenciamento de Processos. Prof. Alex Furtunato

ealogcqc Operação Simplificada: 1. Chamar a aplicação. ealogcqc

Interfaces IDE e SCSI. Disco Rígido

Estes apontamentos das aulas teóricas são da autoria de Pedro Vasconcelos (2007) tendo sido adaptados e modificados por Armando Matos (2010)

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

Processos. Sistemas Operativos 2008 / Multiprogramação

Processos e Threads (partes I e II)

Interface gráfico. José Pedro Oliveira Interpretador de comandos Comando su. Conceitos de Sistemas Informáticos 2005

1. Capturando pacotes a partir da execução do traceroute

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

Uma Ferramenta Essencial! Prof. Fred Sauer, D.Sc.

Gerência de processos Estudos de caso - BSD Unix

Curso de extensão em Administração de sistemas GNU/Linux: redes e serviços

Minicurso Básico de Linux

LSOF - LiSt Open Files

Processos. processos UNIX e Linux threads em Linux. Taisy Weber

A memória do 1000 Series Router ASR pesquisa defeitos o guia

Manual Resumido PR Master. Versão

Luís Filipe Terra Ferreira, Tiago Costa Gonçalves,

Aula prática. Objetivo IPCONFIG. Prof. Leandro Pykosz Informa a configuração atual de rede da máquina;

FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 03. Prof. Gabriel Silva

Sistemas Operacionais

Alterna para o primeiro terminal. No Linux você pode ter vários (o padrão é 6) terminais abertos ao mesmo tempo.

Transcrição:

Conteúdo (jpo@di.uminho.pt) Grupo de Sistemas Distribuídos Departamento de Informática Escola de Engenharia Universidade do Minho Sistemas Operativos 2005-2006 1 2 s s Identificador de processo pid - process identifier ppid - parent process identifier Estado de processos D - uninterruptible sleep (IO), R - runnable, S - sleeping, T - traced or stopped, Z - zombie O comando ps permite obter um snapshot dos processos actuais. ps [opç~oes] Algumas opções a - todos os processos sem terminal associado l - lista pids e ppids x - inclusive os processos sem terminal associado u - formato orientado ao utilizador -u user - processos do utilizador user f - hierarquia de processos am arte ASCII

: exemplos : exemplos $ ps PID TTY TIME CMD 5549 pts/5 00:00:00 bash 7530 pts/5 00:00:00 ps Colunas PID - identificador do processo TTY - terminal associado ao processo TIME - tempo de CPU acumulado CMD - comando executado $ ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 2064 552? S 06:12 0:00 init [3] root 2 0.0 0.0 0 0? SN 06:12 0:00 [ksoftirqd/0] root 3 0.0 0.0 0 0? S< 06:12 0:00 [events/0] Colunas USER - utilizador PID - identificador do processo TTY - terminal associado ao processo STAT - estado do processo TIME - tempo de CPU acumulado COMMAND - comando executado : exemplos $ ps axf PID TTY STAT TIME COMMAND 1? S 0:00 init [3] 2? SN 0:00 [ksoftirqd/0] 3? S< 0:00 [events/0] 4? S< 0:00 \_ [khelper] 4642 tty3 Ss+ 0:00 /sbin/mingetty tty3 4643? Ss 0:00 login -- jpo 5252 tty4 Ss 0:00 \_ -bash 5299 tty4 S+ 0:00 \_ /bin/sh /usr/x11r6/bin/startx 5310 tty4 S+ 0:00 \_ xinit /etc/x11/xinit/xinitrc -- 5311? S 1:10 \_ X :0 5384 tty4 S 0:00 \_ /bin/sh /usr/bin/startkde 5774 tty4 S 0:00 \_ kwrapper ksmserver 4646 tty5 Ss+ 0:00 /sbin/mingetty tty5 Permite monitorizar a actividade do sistema. Por omissão lista os processos com maior utilização de CPU. top [opç~oes] Algumas opções -d - intervalo entre actualizações -n - número de iterações

: exemplo $ top top - 02:25:32 up 53 min, 11 users, load average: 0.04, 0.08, 0.08 Tasks: 91 total, 1 running, 90 sleeping, 0 stopped, 0 zombie Cpu(s): 1.0% us, 0.0% sy, 0.0% ni, 99.0% id, 0.0% wa, 0.0% hi, 0.0% si 636984k total, 333860k used, 303124k free, 22140k buffers Mem: Swap: 1020088k total, 0k used, 1020088k free, 185932k cached PID USER PR NI VIRT RES SHR %CPU %MEM TIME+ COMMAND S 5311 root 15 0 143m 10m 2196 S 0.3 1.7 0:43.71 X 5809 jpo 15 0 32032 15m 12m S 0.3 2.6 0:02.84 kdeinit 7652 jpo 17 0 2364 940 748 R 0.3 0.1 0:00.05 top 1 root 16 0 2928 552 472 S 0.0 0.1 0:00.84 init 2 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0 3 root 5-10 0 0 0 S 0.0 0.0 0:00.16 events/0 Permite executar programas com prioridades de escalonamento modificadas. nice [opç~ao] [comando [arg] ] Algumas opções -n adjust - incrementa a prioridade em adjust : listar sinais O comando kill permite enviar um sinal para um processo ou um grupo de processos. Se nenhum sinal for especificado, o sinal TERM é enviado por omissão. O sinal TERM mata todos os processos que não o interceptarem. Nalguns casos pode ser necessário enviar o sinal KILL (9), dado que este sinal não pode ser interceptado. kill [opç~oes] [pid] $ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1 64) SIGRTMAX

: sinais : exemplos Alguns sinais SIGHUP (1) - Hangup. SIGINT (2) - Interrupt. (gerado pela sequência de teclas CTRL+C) SIGQUIT (3) - Quit. (gerado pela sequência de teclas CTRL+\) SIGKILL (9) - Kill, unblockable. Este sinal não pode ser interceptado pela processo. SIGTERM (15) - Termination. Sinal enviado por omissão pelo comando kill. $ kill pid Envia o sinal TERM para o processo pid. O processo ao receber este sinal deverá terminar a sua execução. $ kill -9 pid O sistema operativo termina o processo pid, não lhe dando qualquer hipótese de executar código de limpeza. $ kill -INT pid O sinal INT é enviado para o processo pid. s s Conteúdo 1 2 s Descrição O pseudo sistema de ficheiros /proc actua como interface a estruturas de dados do kernel. Pode ser utilizado para obter informação sobre o sistema e alterar certos parâmetros do kernel em runtime (sysctl). Enquanto que a grande maioria do pseudo sistema de ficheiros /proc só pode ser acedida para leitura, o ramo /proc/sys é utilizado para configurar o kernel em runtime, ou seja, permite operações de escrita.

s : informação /proc/cpuinfo s Informação subdirectórios por processo informação sobre o kernel dispositivos IDE (/proc/ide) informação sobre rede (/proc/net) informação SCSI (/proc/scsi) informação sobre porta paralela (/proc/parport) informação sobre TTY (/proc/tty) estatísticas diversas sobre o kernel (/proc/stat) Informação sobre o(s) processador(es) $ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 15 model : 2 model name : Intel(R) Pentium(R) 4 CPU 2.40GHz stepping : 4 cpu MHz : 2405.473 cache size : 512 KB s s nnn (/proc/nnn) nnn (/proc/nnn) $ ls -l /proc/7218/ total 0 dr-xr-xr-x 2 jpo jpo 0 Feb 21 00:07 attr -r-------- 1 jpo jpo 0 Feb 21 00:09 auxv -r--r--r-- 1 jpo jpo 0 Feb 21 00:06 cmdline lrwxrwxrwx 1 jpo jpo 0 Feb 21 00:09 cwd -> /home/users/jpo/csi -r-------- 1 jpo jpo 0 Feb 21 00:06 environ lrwxrwxrwx 1 jpo jpo 0 Feb 21 00:09 exe -> /usr/x11r6/bin/gvim dr-x------ 2 jpo jpo 0 Feb 21 00:09 fd -r-------- 1 jpo jpo 0 Feb 21 00:09 maps -rw------- 1 jpo jpo 0 Feb 21 00:09 mem -r--r--r-- 1 jpo jpo 0 Feb 21 00:09 mounts lrwxrwxrwx 1 jpo jpo 0 Feb 21 00:09 root -> / -r--r--r-- 1 jpo jpo 0 Feb 21 00:06 stat -r--r--r-- 1 jpo jpo 0 Feb 21 00:09 statm -r--r--r-- 1 jpo jpo 0 Feb 21 00:06 status dr-xr-xr-x 3 jpo jpo 0 Feb 21 00:09 task -r--r--r-- 1 jpo jpo 0 Feb 21 00:09 wchan Informação sobre a linha de comando e as variáveis de ambiente $ cat /proc/7218/cmdline tr \0 \n gvim processos.tex $ cat /proc/7218/environ tr \0 \n KDE MULTIHEAD=false HOSTNAME=localhost.localdomain SHELL=/bin/bash TERM=xterm

nnn (/proc/nnn) s s Configurar o kernel em runtime: /proc/sys Informação sobre descriptores de ficheiros abertos $ ls -l /proc/7218/fd total 6 lrwx------ 1 jpo jpo 64 Feb 21 00:18 0 -> /dev/pts/5 lrwx------ 1 jpo jpo 64 Feb 21 00:18 1 -> /dev/pts/5 lrwx------ 1 jpo jpo 64 Feb 21 00:18 2 -> /dev/pts/5 lrwx------ 1 jpo jpo 64 Feb 21 00:18 3 -> socket:[17997] lrwx------ 1 jpo jpo 64 Feb 21 00:18 4 -> socket:[17999] lrwx------ 1 jpo jpo 64 Feb 21 00:18 6 -> /tmp/.processos.tex.swp Introdução O directório /proc/sys não só é uma fonte de informação, como permite alterar parâmetros do kernel. Alterar parâmetros do kernel Para alterar um valor basta apenas fazer echo do novo valor para o ficheiro. s Alterar um parâmetro do kernel s Alterar um parâmetro do kernel: comando sysctl Exemplo Alterar o comportamento da stack TCP/IP na recepção de pacotes ICMP broadcast. Executar os seguintes comandos $ cd /proc/sys/net/ipv4 $ cat icmp echo ignore broadcasts 0 $ echo 1 > icmp echo ignore broadcasts $ cat icmp echo ignore broadcasts 1 Comando sysctl Permite configurar parâmetros em runtime. Os parâmteros disponiveis são os que se encontram listados em /proc/sys. sysctl [opç~oes] variável sysctl [opç~oes] -w variável=valor Exemplos $ sysctl -n kernel.hostname $ sysctl -w kernel.hostname=posto123

s Ficheiro de configuração /etc/sysctl.conf s $ cat /etc/sysctl.conf # Kernel sysctl configuration file for Red Hat Linux # # For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and # sysctl.conf(5) for more details. # Controls IP packet forwarding net.ipv4.ip_forward = 0 # Controls source route verification net.ipv4.conf.default.rp_filter = 1 man 8 sysctl man 5 sysctl.conf <kernel>/documentation/filesystems/proc.txt Exemplo: linux-2.4.28/documentation/filesystems/proc.txt # Controls the System Request debugging functionality of the kernel kernel.sysrq = 0