[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] Script em background..
From: |
Rodolfo Villanova |
Subject: |
RES: [shell-script] Script em background.. |
Date: |
Wed, 16 Jun 2004 11:14:14 -0300 |
Olá, Fernando.
O que vou sugerir é uma pequena síntese da vivência, no dia-a-dia,
programando e executando scripts em Korn Shell. Não sei se entendi
plenamente qual o objetivo procurado, mas vou deixar aqui minha
contribuição.
A execução de scripts em background pode ser realizada de duas formas:
1. Disparo através de linha de comando:
$ nohup script.ksh > relatorio.txt 2> log &
onde:
nohup = o script continuará rodando mesmo que haja logout da seção
script.ksh = o script propriamente dito
> relatorio.txt = armazena resultados e mensagens "echoados", se
necessário
2> log = armazena as mensagens de erro de execução
& = background
2. Disparo através da cron, em que o script deverá armazenar no PATH os
diretórios cujos arquivos serão referenciados no corpo do script. Segue uma
linha de exemplo que seria incluído na crontab:
0 8 * * * /usr/usuario/home/script.ksh > relatorio.txt 2> log
Dentro de um script podem ser disparados infinitamente (em tese) processos
em paralelo, cujas chamadas seriam precedidas do 'nohup' e seguidas do
símbolo '&'; dessa forma, o processo do script chamador pode encerrar sua
execução, enquanto os processos-filhos, em background, continuam executando
suas tarefas até seu encerramento normal (se houver). O comando 'nohup' aqui
serve para que, mesmo com a morte do processo-pai, os processos-filhos não
morram junto com ele.
Corrijam-me se estiver equivocado, mas espero ter contribuído para reflexão
e geração de novas idéias.
Um abraço,
--------------------------
Rodolfo D. Gross Villanova
> -----Mensagem original-----
> De: Fernando Lemes da Silva [mailto:address@hidden]
> Enviada em: quarta-feira, 16 de junho de 2004 10:00
> Para: address@hidden
> Assunto: [shell-script] Script em background..
>
> Pessoas,
>
> Eu estava aqui com minhas ideias e de repente me veio uma questão...
> como posso fazer um shell-script que rode em background ? Sim, eu
> poderia chamar o script com & e pronto... mas seria possivel colocar a
> shell de execução do script em background e o script seria executado em
> background também ?
>
> Pensei em fazer uma função main com o script todo e a execução do
> script seria "main &"... porém é a maneira mais limpa de se fazer ? :-P
>
> []'s
> Fernando Lemes
>
>
>
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de
> programação, como perl, C etc. Quem insistir em não seguir esta
> regra será moderado sem prévio aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Links do Yahoo! Grupos