Betrachter für wachsende Dateien III

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

logviewer.pl
sub spawn_pipe {
   my $cmd = shift;
   my $pipe = new IO::File;
   my $pid;
   if (defined($pid = open($pipe, "-|"))) {
      if ($pid > 0) {
         return ($pipe, $pid);
      } else {
         exec($cmd) || exit 1;
      }
   } else {
      return undef;
   }
}

sub close_pipe {
   my ($pipe, $pid) = @_;
   kill(15, $pid);
   $pipe->close;
}

*Das Verfolgen des Wachstums einer Datei wird tail -f überlassen.
 
*Um Hänger am Ende zu vermeiden, muß der tail-Prozeß vor dem Schließen der Pipeline abgeschossen werden. Sonst würde waitpid (aufgerufen von $pipe->close) solange hängen, bis der tail-Prozeß beendet ist.
 

 [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