|
|
| runplex.pl |
sub execute_command {
return unless defined($command) && $command ne "";
logline("*** execution of $command ***\n");
msg("starting execution of $command");
my $fh = new IO::File "$command 2>&1 |";
while (<$fh>) {
logline($_);
}
$fh->close;
msg("");
}
sub logline {
my $line = shift;
$execwin->insert('end', $line);
$execwin->see('end');
$top->idletasks;
}
|
![]() | execute_command eröffnet eine Pipe zu dem
auszuführenden Kommando und gibt jede Zeile an
logline() weiter.
|
![]() | logline fügt jeweils eine Zeile zu dem Fenster,
in dem die Ausgaben des auszuführenden Kommandos
protokolliert werden.
|
![]() | Während der Ausführung von execute_command
können keine Ereignisse von X abgearbeitet werden.
Auch die Aktualisierungen bleiben unberücksichtigt,
wenn die zentrale Ereignisschleife nicht kurzfristig
Gelegenheit erhält, sich darum zu kümmern.
Dies geschieht mit $top->idletasks.
|
|
| Copyright © 1996, 1998, 1999, 2000 Andreas Borchert, in HTML konvertiert am 07.02.2000 |