Die Ausführung von Kommandos II

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

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.
 

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1996, 1998, 1999, 2000 Andreas Borchert, in HTML konvertiert am 07.02.2000