Blabos<br><br><div class="gmail_quote">2011/1/20 Blabos de Blebe <span dir="ltr"><<a href="mailto:blabos@gmail.com">blabos@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Não foi o que você perguntou, mas considere:<br>
<br>
<a href="http://foo.pl" target="_blank">foo.pl</a>:<br>
#!/usr/bin/perl<br>
<br>
print $ARGV[0], $/;<br>
`sleep 5`;<br></blockquote><div><br></div><div>aspas invertidas?? WTF?</div><div>perldoc -f sleep</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
___<br>
<br>
perl -E 'while($i++ < 10){system("./<a href="http://foo.pl" target="_blank">foo.pl</a>", $i)}'<br>
<br>
perldoc -f system:<br>
Does exactly the same thing as exec LIST , except that a fork is done<br>
first, and the parent process waits for the child process to exit.<br>
<br>
<br>
Então não tem chamada parelela nenhuma acontecendo.<br>
<br>
Abraços<br>
<br>
2011/1/20 Lindolfo Lorn Rodrigues <<a href="http://lorn.br" target="_blank">lorn.br</a>@<a href="http://gmail.com" target="_blank">gmail.com</a>>:<br>
<div><div></div><div class="h5">> Cara, usar system não é uma boa pratica para cada chamada no system ele vai<br>
> carregar um bash para tratar o STDOUT que você manda para o /dev/null, eu<br>
> recomendo você dar uma olhada no POE, ele é um sistema de 'threads' e você<br>
> pode construir seu system dentro dele, e ele seria o seu "script chefe"<br>
> porque ele foi feito para isso.<br>
> E ele tem um cookbook <a href="http://poe.perl.org/?POE_Cookbook" target="_blank">http://poe.perl.org/?POE_Cookbook</a> quando eu usei ele,<br>
> eu peguei um cookbook ( receita de bolo ) que mais se parecia com o meu<br>
> problema e mudei um pouco com o meu programa e etc. No seu caso parece que<br>
> você que gerenciar<br>
> processos <a href="http://poe.perl.org/?POE_Cookbook/Child_Component" target="_blank">http://poe.perl.org/?POE_Cookbook/Child_Component</a>.<br>
> Minha principal dica é, não use system faça seus programas Perl conversarem<br>
> com eles mesmo usando IPC, TCP sei lá, o POE resolve tudo isso para você<br>
> caso tenha alguma duvida pergunte ai, flw.<br>
> 2011/1/20 Tom Mostard <<a href="mailto:capmostarda@gmail.com">capmostarda@gmail.com</a>><br>
>><br>
>> Olá, pessoal!<br>
>><br>
>> Estou tendo um problema de memória com scripts em Perl.<br>
>> Alguém aí teve algum problema parecido?<br>
>><br>
>> Tenho um "pequeno" sistema que precisa executar vários scripts Perl em<br>
>> paralelo.<br>
>> Então existe um script Perl "chefe" que fica responsável por executar eles<br>
>> com parâmetros diferentes usando system().<br>
>><br>
>> O sistema acessa vários bancos de dados e a depender do banco, da tabela e<br>
>> do campo ele executa um módulo específico.<br>
>> Uso o MySQL em outra máquina para não abusar da memória.<br>
>><br>
>> Script-chefe:<br>
>><br>
>> while ( my $i < $execucoes ) # são execuções limitadas, mas por enquanto<br>
>> são 60<br>
>> {<br>
>> system( './<a href="http://script.pl" target="_blank">script.pl</a> $parametro1 > /dev/null & ' );<br>
>> }<br>
>><br>
>> Dentro do script é carregado um módulo usando require assim:<br>
>><br>
>> require $ARGV[ 0 ].".pm";<br>
>><br>
>> Funciona tudo certo, se rodo 20, funciona tudo normal e eles ocupam 158 MB<br>
>> de memória.<br>
>> Se rodo 40, eles ocupam 316 MB de memória além da memória usada pelo<br>
>> sistema.<br>
>> Me parece que cada script carregado usa 8 MB em média. (Isso é<br>
>> possível/normal?)<br>
>> Quando uso 60, nem todos os scripts são executados.<br>
>> Existe alguma maneira de executar um script otimizando o uso de memória ou<br>
>> vou ter que reavaliar o código?<br>
>> Já revisei o código e eliminei arrays, variáveis de conexões com bancos<br>
>> desnecessárias.<br>
>> Existe algo mais que eu possa fazer?<br>
>><br>
>> Abraços,<br>
>><br>
>> Tom<br>
>><br>
>> _______________________________________________<br>
>> Cascavel-pm mailing list<br>
>> <a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>
>> <a href="http://mail.pm.org/mailman/listinfo/cascavel-pm" target="_blank">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>
><br>
><br>
><br>
> --<br>
> lorn at lornlab dot org<br>
> Lindolfo "Lorn" Rodrigues<br>
><br>
><br>
> _______________________________________________<br>
> Cascavel-pm mailing list<br>
> <a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>
> <a href="http://mail.pm.org/mailman/listinfo/cascavel-pm" target="_blank">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>
><br>
_______________________________________________<br>
Cascavel-pm mailing list<br>
<a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/cascavel-pm" target="_blank">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><font face="georgia, serif">Alexei Znamensky [russoz_gmail_com] [<a href="http://russoz.wordpress.com" target="_blank">russoz.wordpress.com</a>] [<a href="http://www.flickr.com/photos/alexeiz" target="_blank">www.flickr.com/photos/alexeiz</a>]<br>
<span style="border-collapse:collapse"><div>«Only love / Can bring the rain / That makes you yearn to the sky»</div></span></font><br>