Thread Ausgabe eines Systemprogramms erfassen
(16 answers)
Opened by errorsmith at 2012-12-28 11:15
Ungetestet:
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 use Time::HiRes qw ( setitimer ITIMER_VIRTUAL time ); my $timer_all_seconds = 60; # alle 60 Sekunden # Ausgabefunktion bei Ablauf des Timers my $prline; my $print_line_sub = sub { print $prline, "\n"; }; # Timersignal zuweisen $SIG{VTALRM} = $print_line_sub; # Timer setzen (nach 1 Sekunde alle $timer_all_seconds) setitimer(ITIMER_VIRTUAL, 1, $timer_all_seconds); my $command="/usr/bin/testscript open(my $cmd,'-|',$command); my $line=""; while ($line = <$cmd>) { $prline = $line; # aktuelle Zeile für Timer sichern #print $line . "\n"; # Ausgabe nun im Timer } |