help: récupérer traces d'exécutable lancé dans un thread
Bonjour,
J'écris un script Perl qui, dans un thread, lance un exécutable, et doit traiter les traces affichées au fur et à mesure par cet exécutable (i.e: les stocker dans une bdd). Sachant que les premières traces en sortie arrivent quelque temps après lancement de l'exe..
donc en essayant un truc du genre:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
$thr = threads->new(\&sub_fonction);
sub subfonction() {
$cmd = "./executable | ";
open(OUT, $cmd) || die "impossible de dupliquer le processus $!";
while (my $ln = <OUT>) {
....
}
close(OUT);
} |
Il semble que mon prog n'entre jamais dans la boucle <while> parce que pas de sortie de traces immédiate (en essayant avec la cmd linux date ou ls, ça marche).
Qqn peut-il m'aider?
Merci d'avance