[Cascavel-pm] Tempo de execucao
Luis Motta Campos
luismottacampos em yahoo.co.uk
Segunda Abril 16 07:55:28 PDT 2007
On Apr 16, 2007, at 4:39 PM, Patty Silva wrote:
> Ola Luis..
> Entao..
> nao tem como deixar em um programa so.. o 1 Programa le do Banco de
> dados, gera um arquivo num formato especifico..
> o 2 pega esses dados num diretorio e roda um programa em C aprtir
> desses dados :D
O que você não {sabe,quer,pode,deve} mudar é o programa C, certo?
> Com PIpeLine nao irá funcionar devido o 2 programa busca os dados
> em um diretorio..
> Achu que verificando o PID seria uma solucao.. q acha?
"Achu" está errado. ;-)
E, sinceramente, está na hora de chutar o seu chefe, e pedir para
ele um curso de unix.
Vocês estão trabalhando (por bobagem) na "idade da pedra": não
sabem usar bem a ferramenta que tem.
Se a sua empresa precisa de convencimento sobre isso, manda vir
falar comigo, que eu ajudo a explicar. ;-)
Sobre o seu problema: não, a melhor alternativa é usar algo como:
programa1 ; programa2
No seu crontab. Assim, o seu programa C de processamento apenas
vai começar a rodar quando o seu programa de busca de informação
terminar de construir os dados.
Você pode passar parâmetros e fazer qualquer coisa que faria num
shell:
/caminho/para/bin/programa1 --parametro=1 --flag 2 comando ;
programa2 --parametro
O crontab entende isso como "dependência" e apenas inicia o outro
programa quando o primeiro terminou.
Se seus programas forem "bem comportados" (para os padrões do
unix), você poderia usar uma "dependência com sucesso" assim:
programa1 && programa2
De modo que o programa2 apenas vai rodar se programa1 saiu com um
valor "0" (indicando sucesso).
Espero que isso resolva o seu problema.
Putamplexos!
--
Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
Perl fanatic evangelist, and amateur {cook, photographer}
Mais detalhes sobre a lista de discussão Cascavel-pm