Hallo,Ich habe das folgende Problem:
Ich habe ein Perl-App mit GUI(TK). Im Script wird in sub und mittels qx eine externe Application aufgerufen/abgefragt. Die Abfrage dauert bis zu 1 Minute. Das unschöne Problem ist nun, daß während dieser Zeit die GUI blockiert. (Das TK Fenster "hängt" sich solange auf) Nun habe ich schon mit fork() herumexperimentiert, aber noch keine brauchbare Lösung gefunden. Im Beispiel habe ich für den externen Aufruf einfach mal ls genommen. (Ihr müsst euch nur vorstellen, daß es ein laaaangsames ls ist ;-))
Gibt es eine Chance, daß während der qx-Abfrage die GUI "normal" (nicht hängend oder blockierend) weiterläuft?
#!/usr/bin/perl -w
use strict;
use Tk;my $fenster = MainWindow->new;
my $Button = $fenster->Button("-text" => "Klick mich",
"-command" => [\&Aktion1] );
$schalter->pack();
MainLoop;
sub Aktion1 {
my $Ausgabe = Aktion2("/home/user/");
# tut was mit Ausgabe ....
}
sub Aktion2 (
my $Ordner = shift;
my $Rueckgabe = qx(ls -l $Ordner);
return $Rueckgabe;
)
Datum: 03.06.2007-23:09
