Thread Datenstrom in Realtime mitlesen: tcpdump über Pipe an Perlscript übergebn
(5 answers)
Opened by Gast at 2007-01-02 14:17
Hi,
also wenn du etwas als Pipe oder in einer Datei umleitest dann wird das ganze eigentlich sofort geschrieben. Dein Test mit "tail -f" ist da aber nicht ganz korrekt. Den "tail -f" arbeitet unter GNU/Linux so das es jede Sekunde nur einmal die Datei pollt und dann die änderungen ausgibt die in der Sekunde angefallen sind. Das kann bei vielen Daten dann so aussehen als wenn es Blockweise oder erst bei paar Hundert Bytes in die Datei geschrieben wird, das sieht aber nur so aus weil tail nicht "richtig" arbeitet. Ansonsten wenn du vom Perl Skript aus der Pipe liest dann wird normalerweise Zeilenweise gelesen. Wenn du das auch nicht haben möchtest dann kannst du entweder sysread() benutzen oder den Dateihandle wovon du liest auf non-blocking stellen. (IO::Handle am besten anschauen) Ob das aber unbedingt so eine gute Idee ist würde ich mal bezweiflen. Meistens brauch man ja eine ganze Zeile damit man die Daten auswerten kann. Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
|