36
Processos Processos 1 Processos Processos

Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Embed Size (px)

Citation preview

Page 1: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 11

ProcessosProcessos

Page 2: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 22

ProcessosProcessos

Abstração do UNIX para gerência de Abstração do UNIX para gerência de memória, CPU e recursos de I/O;memória, CPU e recursos de I/O;

É um conjunto de dados e instruções que É um conjunto de dados e instruções que são executadas, em geral sem compartilhar são executadas, em geral sem compartilhar o seu próprio espaço de endereçamento o seu próprio espaço de endereçamento virtual;virtual;

Um programa/job pode necessitar de vários Um programa/job pode necessitar de vários processos até seu término.processos até seu término.

Page 3: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 33

ProcessosProcessos

Um comando simples (ls por exemplo) será Um comando simples (ls por exemplo) será executado por apenas um processo;executado por apenas um processo;

O administrador tem a incumbência de O administrador tem a incumbência de monitorar o status dos processos, monitorar o status dos processos, controlar quanto do tempo da CPU um controlar quanto do tempo da CPU um processo gasta, enviar sinais para um processo gasta, enviar sinais para um processo e suspender sua execução processo e suspender sua execução quando necessário.quando necessário.

Page 4: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 44

Componentes de um ProcessoComponentes de um Processo

Espaço de endereçamentoEspaço de endereçamento Código do programa e variáveis usadasCódigo do programa e variáveis usadas Pilha do processoPilha do processo Outras informações necessáriasOutras informações necessárias

Estruturas de dados internas ao kernelEstruturas de dados internas ao kernel Localização do espaço de endereçamentoLocalização do espaço de endereçamento Status correnteStatus corrente Prioridade de execuçãoPrioridade de execução Informações acerca dos recursos usadosInformações acerca dos recursos usados A máscara de sinal do processoA máscara de sinal do processo Identificação do proprietárioIdentificação do proprietário

Page 5: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 55

Tipos de ProcessosTipos de Processos

Processos interativosProcessos interativos SS₧₧o inicializados e controlados por uma sessão o inicializados e controlados por uma sessão

de terminalde terminal Executados em foregroundExecutados em foreground

Estão ligados a um terminal para entrada e saída de Estão ligados a um terminal para entrada e saída de dadosdados

Executados em backgroundExecutados em background Não estão ligados a nenhum terminalNão estão ligados a nenhum terminal

DaemonsDaemons São processos servidores, geralmente São processos servidores, geralmente

inicializados no boot da máquina (background)inicializados no boot da máquina (background)

Page 6: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 66

Atributos dos ProcessosAtributos dos Processos

Process ID (PID)Process ID (PID) Associado pelo kernelAssociado pelo kernel Único no sistemaÚnico no sistema

Parent Process ID (PPID)Parent Process ID (PPID) Prioridade (Nice Number)Prioridade (Nice Number)

Número atribuído ao processo e que influencia Número atribuído ao processo e que influencia o cálculo da sua prioridade interna o cálculo da sua prioridade interna

TTYTTY Normalmente é o terminal onde o seu processo Normalmente é o terminal onde o seu processo

foi iniciadofoi iniciado

Page 7: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 77

Atributos dos ProcessosAtributos dos Processos

Real and Effective User ID (UID, EUID)Real and Effective User ID (UID, EUID) UID: Aquele que criou o processoUID: Aquele que criou o processo EUID: Usado para determinar o direito de acesso do EUID: Usado para determinar o direito de acesso do

processo aos recursos do sistema (setuid)processo aos recursos do sistema (setuid) Real and Effective Group ID (GID, EGID)Real and Effective Group ID (GID, EGID)

Mapeados no /etc/groupMapeados no /etc/group Quando um processo é inicializado, o GID Quando um processo é inicializado, o GID éé

configurado para o mesmo do processo paiconfigurado para o mesmo do processo pai EGID: Análogo ao EUID em relação ao UIDEGID: Análogo ao EUID em relação ao UID

Page 8: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 88

P1 P1fork

PID 10 PID 356

Ciclo de Vida de um ProcessoCiclo de Vida de um Processo

forkfork Cria uma cópia idêntica ao processo pai, mas Cria uma cópia idêntica ao processo pai, mas

com outro PID, PPID do pai, cópias próprias dos com outro PID, PPID do pai, cópias próprias dos descritores de arquivo e contabilidade própria.descritores de arquivo e contabilidade própria.

Page 9: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 99

P1

P2

exec

PID 34

PID 34

Ciclo de Vida de um ProcessoCiclo de Vida de um Processo

execexec Muda o contexto do processo que está sendo Muda o contexto do processo que está sendo

executadoexecutado Inicializa os segmentos de dados e pilha para Inicializa os segmentos de dados e pilha para

um estado inicial pré-definidoum estado inicial pré-definido

Page 10: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 1010

Ciclo de Vida de um ProcessoCiclo de Vida de um Processo

Exemplo: Exemplo:

PID 563

fork

fork

PID 424

PID 424

PID 424

PID 1

PID 424 PID 563

init init

getty

login

sh sh

grep

exec

exec

exec

exec

Page 11: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 1111

Estados possíveis dos processosEstados possíveis dos processos

O: running - O: running - o processo está sendo o processo está sendo executado;executado;

R: runnable - R: runnable - esperando apenas por esperando apenas por tempo tempo de CPU;de CPU;

S: sleeping - S: sleeping - esperando o término de um esperando o término de um evento específico;evento específico;

Z: zombie - Z: zombie - o processo terminou e o o processo terminou e o pai pai não está esperando (está não está esperando (está

tentando morrer);tentando morrer); T: stopped - T: stopped - está proibido de executar.está proibido de executar.

Page 12: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 1212

Comando ExitComando Exit

Notifica o kernel que o processo vai morrerNotifica o kernel que o processo vai morrer Libera espaço de endereçamentoLibera espaço de endereçamento Não fornece mais tempo de CPUNão fornece mais tempo de CPU O PID ainda não é liberadoO PID ainda não é liberado Chamada de sistema waitChamada de sistema wait

Page 13: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 1313

Iniciando vários processos com & Iniciando vários processos com &

lp report &lp report &[1] 1746[1] 1746

netscape &netscape &[2] 1750[2] 1750

Os processos são iniciados e rodam em Os processos são iniciados e rodam em segundo planosegundo plano

Page 14: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 1414

Entrada e Saída PadrõesEntrada e Saída Padrões

Em unix um processo é automaticamente Em unix um processo é automaticamente aberto com três arquivos abertos:aberto com três arquivos abertos:

stdin stdin Entrada padrãoEntrada padrão

stdout stdout Saída padrãoSaída padrão

stderrstderr Saída de erro padrãoSaída de erro padrão

Page 15: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 1515

Iniciando vários processos com | Iniciando vários processos com |

O símbolo O símbolo || é chamado de é chamado de ““pipepipe”” (canal) (canal) Estabelece um canal entre dois processosEstabelece um canal entre dois processos Por exemplo:Por exemplo:

ls | wc -lls | wc -l A saída padrão do comando ls é transferida A saída padrão do comando ls é transferida

para a entrada padrão do comando wc (conta para a entrada padrão do comando wc (conta palavras)palavras)

Forma geral Forma geral comando | comando | comando ...comando | comando | comando ...

Todos os processos são iniciados ao mesmo Todos os processos são iniciados ao mesmo tempo e são filhos do shell atual tempo e são filhos do shell atual

Page 16: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 1616

Redirecionando entradas/saídasRedirecionando entradas/saídas

<< símbolo usado para redirecionar a entrada símbolo usado para redirecionar a entrada de um comando da entrada padrão para um de um comando da entrada padrão para um arquivoarquivo mail sarah < infomail sarah < info

>> símbolo usado para redirecionar a saída de símbolo usado para redirecionar a saída de um comando da saída padrão para um arquivoum comando da saída padrão para um arquivo ls -la > lista.txtls -la > lista.txt cat > dados.txtcat > dados.txt

Page 17: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 1717

Redirecionando contRedirecionando cont

>>>> usado para acrescentar ou adicionar usado para acrescentar ou adicionar informações em um arquivo já existenteinformações em um arquivo já existente date > diretoriodate > diretorio ls | sort >> diretoriols | sort >> diretorio mail -s mail -s ““meus arquivosmeus arquivos”” admin < diretorio admin < diretorio

Page 18: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 1818

Monitorando ProcessosMonitorando Processos

O comando ps informa:O comando ps informa: PID, UID, prioridade e terminal de controlePID, UID, prioridade e terminal de controle Tempo de CPU, memória utilizada, etc.Tempo de CPU, memória utilizada, etc.

Exemplo:Exemplo:

% ps -aux /* System V: ps -ef */% ps -aux /* System V: ps -ef */

USER PID %CPU %MEM SZ RSS TT STAT START TIME COMMANDUSER PID %CPU %MEM SZ RSS TT STAT START TIME COMMAND

root 137 5.5 0.0 3832 2140 co O 8:38PM 5:38.12 ps -root 137 5.5 0.0 3832 2140 co O 8:38PM 5:38.12 ps -

marcio 155 3.0 0.0 172 16 p0 S 8:38PM 0:00.00 /usr/bin/cshmarcio 155 3.0 0.0 172 16 p0 S 8:38PM 0:00.00 /usr/bin/csh

root 0 0.0 0.0 0 0 ?? T 8:35PM 0:00.06 scheroot 0 0.0 0.0 0 0 ?? T 8:35PM 0:00.06 sche

......

Page 19: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 1919

Campo SignificadoUSER Nome do usuário dono do processoPID Process ID%CPU Porcentagem da CPU que o processo está usando%MEM Porcentagem da memória real sendo utilizadaSZ Tamanho virtual do processo (kb)RSS Número de páginas (1K) na memóriaTT ID do terminal de controleSTAT Status corrente do processo:

START Hora que o processo foi inicializadoTIME Tempo de CPU que o processo consumiuCOMMAND Nome do comando e argumentos

R - RunnableI - Sleeping (<20 sec)

T - Stopped

D - In disk waitS - Sleeping (>20)

Z - Zombie

Monitorando ProcessosMonitorando Processos

Page 20: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 2020

ps - opções comunsps - opções comuns

a a seleciona todos, com a tty exceto líderes seleciona todos, com a tty exceto líderes

aa mostra processos de outros usuários mostra processos de outros usuários e e seleciona todos os processosseleciona todos os processos

ee mostra ambiente após comandomostra ambiente após comando

h h mostra sem cabeçalhomostra sem cabeçalho l l mostra em formato longomostra em formato longo

rr somente processos rodandosomente processos rodando

xx processos sem controle de terminalprocessos sem controle de terminal

uu fornece informações sobre usuáriofornece informações sobre usuário

ff mostra formato de árvore mostra formato de árvore

Page 21: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 2121

Exemplos psExemplos ps

ps -efps -ef

ps -auxps -aux

ps -auxlps -auxl

Page 22: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 2222

Monitorando ProcessosMonitorando Processos

O programa O programa toptop (integra alguns UNIX): (integra alguns UNIX): Provê um resumo dos processos ativos e do Provê um resumo dos processos ativos e do

uso dos recursos;uso dos recursos; Amostragem a cada dez segundos (default);Amostragem a cada dez segundos (default); Permite enviar sinais (k);Permite enviar sinais (k); Permite visualizar processos de um usuário (u);Permite visualizar processos de um usuário (u); Permite modificar a prioridade dos sinais (r);Permite modificar a prioridade dos sinais (r); toptop é de autoria de William LeFebvre, EECS é de autoria de William LeFebvre, EECS

Department, Northwestern UniversityDepartment, Northwestern University..

Page 23: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 2323

Monitorando ProcessosMonitorando Processos

Exemplo:Exemplo:

% toplast pid: 26330; load averages: 0.01, 0.01, 0.00 20:29:5180 processes: 1 running, 79 sleepingCPU states: 0.4% user, 0.0% nice, 0.4% system, 1.6% interrupt, 97.7% idleMem: 29M Active, 6204K Inact, 14M Wired, 8904K Cache, 6386K Buf, 3660K FreeSwap: 128M Total, 34M Used, 94M Free, 27% Inuse

PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND 227 root 2 0 1096K 80K select 0:46 0.00% 0.00% httpd26330 marcio 28 0 644K 832K RUN 0:00 0.00% 0.00% top26323 marcio 18 0 688K 1020K pause 0:00 0.00% 0.00% csh18256 root 18 0 484K 516K pause 0:40 0.00% 0.00% office51 155 root 18 0 332K 268K pause 0:06 0.00% 0.00% cron 6061 marcio 10 0 380K 144K wait 0:00 0.00% 0.00% make 6067 marcio 10 0 488K 140K wait 0:00 0.00% 0.00% sh 6038 marcio 10 0 488K 140K wait 0:00 0.00% 0.00% sh

Page 24: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 2424

Sinais para ProcessosSinais para Processos

Interrompem a execução do processoInterrompem a execução do processo Enviados através do comando killEnviados através do comando kill

# kill -HUP 1823# kill -HUP 1823 O processoO processo

Quando recebe, trata o sinal ou então o kernel Quando recebe, trata o sinal ou então o kernel toma alguma ação defaulttoma alguma ação default

É reiniciado do ponto onde parouÉ reiniciado do ponto onde parou

Page 25: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 2525

Alguns sinaisAlguns sinais

SIGKILL (9): SIGKILL (9): Destrói o processoDestrói o processo

$ kill -9 1889$ kill -9 1889 SIGSTOP: SIGSTOP:

Suspende até receber SIGCONTSuspende até receber SIGCONT

$ kill -s STOP 2102$ kill -s STOP 2102 SIGHUP (1): SIGHUP (1):

Faz o programa reler o seu arquivo de Faz o programa reler o seu arquivo de configuraçãoconfiguração

É interessante enviá-lo antes de um kill -9É interessante enviá-lo antes de um kill -9

$ kill -1 2100$ kill -1 2100

Page 26: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 2626

Alguns sinaisAlguns sinais

SIGTERM (15): SIGTERM (15): Terminação de processo por programaTerminação de processo por programa

# kill -15 1889# kill -15 1889 SIGCONT: SIGCONT:

Continua após receber SIGSTOPContinua após receber SIGSTOP

$ kill -s CONT 2102$ kill -s CONT 2102 SIGHUP (1): SIGHUP (1):

Faz o programa reler o seu arquivo de Faz o programa reler o seu arquivo de configuração. É interessante enviá-lo antes de configuração. É interessante enviá-lo antes de um kill -9um kill -9

$$ kill -1 2100 kill -1 2100(#man -s5 signal)(#man -s5 signal)

Page 27: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 2727

Agendando tarefas no Unix - atAgendando tarefas no Unix - at

Permite agendar tarefas em tempos Permite agendar tarefas em tempos determinadosdeterminados

Pode ser usado por qualquer usuário, se não Pode ser usado por qualquer usuário, se não houver restrições (arquivo /etc/at.deny)houver restrições (arquivo /etc/at.deny)

at 1:23at 1:23 lp /usr/vendas/relats/*lp /usr/vendas/relats/* echo echo ““Arquivos sendo impressosArquivos sendo impressos”” | mail -s | mail -s ““Tudo Tudo

okok”” gerente gerente

Page 28: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 2828

Agendando tarefas - at contAgendando tarefas - at cont

at now + 1 DAYat now + 1 DAY rm -f -r *.txtrm -f -r *.txt echo echo ““Removi arquivos textoRemovi arquivos texto”” | mail adriano | mail adriano <ctl>D<ctl>D

at 17:00 DECEMBER 24at 17:00 DECEMBER 24 mail all < feliz_natal.txtmail all < feliz_natal.txt <ctl>D<ctl>D

Page 29: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 2929

Agendando tarefas - at contAgendando tarefas - at cont

Resumo do comandoResumo do comando At hh:mmAt hh:mm

Agenda tarefas para a hora marcada Agenda tarefas para a hora marcada

at hh:mm mes dia ano at hh:mm mes dia ano Agenda tarefas para hora:min mes dia anoAgenda tarefas para hora:min mes dia ano

at -l at -l Lista os servi₤os agendadosLista os servi₤os agendados

at now + inteiro unidadesat now + inteiro unidades Agenda para daqui a inteiro unidades (MONTH, DAY, etc)Agenda para daqui a inteiro unidades (MONTH, DAY, etc)

at -d id_seviço at -d id_seviço

Page 30: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 3030

Agendando tarefas - cronAgendando tarefas - cron

at é usado para agendar tarefas uma vezat é usado para agendar tarefas uma vez

cron usado para agendar tarefas em bases cron usado para agendar tarefas em bases regularesregulares

cron começa quando o sistema é inicializadocron começa quando o sistema é inicializado

Se não há nada para fazer cron fica inativo e Se não há nada para fazer cron fica inativo e verifica a cada minuto se há tarefas para verifica a cada minuto se há tarefas para serem executadas nos arquivos crontabserem executadas nos arquivos crontab

Page 31: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 3131

Agendando tarefas - crontabAgendando tarefas - crontab

crontab [-u user] filecrontab [-u user] file crontab: Comando usado para incluir tarefas crontab: Comando usado para incluir tarefas

na agendana agenda

crontab -u adriano filecrontab -u adriano file Deve ser usado no primeiro agendamento para criar Deve ser usado no primeiro agendamento para criar

o arquivo crontab do usuário adriano a partir de fileo arquivo crontab do usuário adriano a partir de file Este arquivo será armazenado em /var/spool/cronEste arquivo será armazenado em /var/spool/cron

Page 32: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 3232

Agendando tarefas - crontabAgendando tarefas - crontab

crontab [-u user] {-l | -r | -e}crontab [-u user] {-l | -r | -e} crontab: opções usadas depois que o crontab crontab: opções usadas depois que o crontab

é criado é criado l l lista o crontab atual lista o crontab atual r r remove o crontab atualremove o crontab atual e e edita o arquivo atual usando o editor edita o arquivo atual usando o editor

especificado na variável EDITOR ou VISUALespecificado na variável EDITOR ou VISUAL

Page 33: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 3333

Agendando tarefas - crontab contAgendando tarefas - crontab cont

Sintaxe dos comandos a serem inseridos no Sintaxe dos comandos a serem inseridos no crontabcrontabmin hora dia-do-mês mês-do-ano dia-semana comandomin hora dia-do-mês mês-do-ano dia-semana comando

Todos os 5 campos de data precisam aparecerTodos os 5 campos de data precisam aparecer Campos com * são ignoradosCampos com * são ignorados FormatosFormatos

MinMin 00 até 5900 até 59 Hora Hora 00 até 2300 até 23 Dia do mêsDia do mês 01 até 3101 até 31 Mês do anoMês do ano 01 até 1201 até 12 Dia da semanaDia da semana 01 até 07 (segunda 01)01 até 07 (segunda 01)

Page 34: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 3434

Agendando tarefas - exemplosAgendando tarefas - exemplos

30 07 * * 01 sort ./vendas/semanal | mail gerente30 07 * * 01 sort ./vendas/semanal | mail gerente 07:30 h, todo dia do mês, todo mês as segundas envia 07:30 h, todo dia do mês, todo mês as segundas envia

relatório de vendas ordenado para gerenterelatório de vendas ordenado para gerente 45 10 * * 1-5 mail -s “Hoje é um dia útil” adriano45 10 * * 1-5 mail -s “Hoje é um dia útil” adriano

10:45 h, todo dia do mês de segunda a sexta avisa que é 10:45 h, todo dia do mês de segunda a sexta avisa que é dia útildia útil

0,30 * 13 * 5 ls -l0,30 * 13 * 5 ls -l Toda meia hora às sextas e todas meias horas do 13 dia Toda meia hora às sextas e todas meias horas do 13 dia

do mês executa um ls -l e envia o resultado como mail do mês executa um ls -l e envia o resultado como mail para o usuário para o usuário

20 1 * * * find /tmp -atime + 3 -exec rm -f “{}” \;20 1 * * * find /tmp -atime + 3 -exec rm -f “{}” \; 1:20 remove todos os arquivos de /tmp que não foram 1:20 remove todos os arquivos de /tmp que não foram

acessados nas últimas 72 horas.acessados nas últimas 72 horas.

Page 35: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 3535

Nice ValueNice Value

Quanto menor seu valor, maior a prioridadeQuanto menor seu valor, maior a prioridade BSD: -19 a 19BSD: -19 a 19 System V: 0 a 39System V: 0 a 39

Processos recém-criados herdam o valor Processos recém-criados herdam o valor do pai;do pai;

O comando O comando nice nice estabelece o valor na estabelece o valor na criação do processo;criação do processo;

Page 36: Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções

Processos Processos 3636

Nice ValueNice Value

O dono do processo pode alterar este valor O dono do processo pode alterar este valor via comando via comando renice renice (BSD)(BSD)

Quando necessário, usá-lo para iniciar um Quando necessário, usá-lo para iniciar um shell com alta prioridadeshell com alta prioridade

Exemplo:Exemplo:

% ps -l% ps -l

UID PID PPID CPU PRI .... STAT TT TIME COMMANDUID PID PPID CPU PRI .... STAT TT TIME COMMAND

19442 1662 972 3 28 R+ p2 0:00.01 ps -l19442 1662 972 3 28 R+ p2 0:00.01 ps -l

% nice -20 ps -l % nice -20 ps -l

19442 1668 972 3 68 RN p2 0:00.01 ps -l19442 1668 972 3 68 RN p2 0:00.01 ps -l