Zeilenweises Auslesen einer dynamisch wachsenden Text-Datei
-
Hallo liebe Community
Ich habe ein Problem, das etwas tricky zu lösen sein wird, jedoch hoffe ich, dass ihr mir helfen könnt.
Ich erkläre kurz den Kontext:
Ich habe ein Programm, welches unter Linux eine Nmap-Ausgabe in ein File output.txt macht und diese anschließend Parsed um die einzelnen Hosts, die Nmap im Netzwerk findet in eine von mir definierte linked List aufnimmt/einfügt.
Jetzt ist es so, dass diese Nmap-Aufrufe teilweise sehr lange (bis zu 30/45 Minuten laufen. Aus diesem Grund suchte ich eine Möglichkeit die Fortschrittsanzeige des Scans anzeigen zu lassen. Das hat funktioniert.
Nun bringt es mir aber leider nichts, da diese Ausgabe des Fortschritts, die jede Sekunde ausgegeben wird mit dem gesamten Inhalt erst nach Ende des Scans von meinem Programm geparsed wird.
Daraufhin bin ich soweit gegangen mit fork() den system() aufruf mit dem nmap-Befehl in ein Kindprozess auszulagern.
Jetzt benötige ich allerdings HILFE DABEI, DIE OUTPUT.TXT DATEI IN ECHTZEIT AUSZULESEN, da ich nur dann die Daten des Fortschritts des gesamt-Scans dem Anwender des Tools direkt zur Verfügung stellen kann.Bitte, falls ich zu unklar formuliere, fragt nach!
Ich hoffe mir kann jemand helfenLiebe Grüße,
Felix
-
Das ist Unix-Zeugs, das gehört in das entsprechende Forum.
Warum schreibst du in eine Datei?
Warum schreibt dein Child nicht in eine Pipe, aus der der Parent das liest?
-
Hab's in das andere Forum gepackt ...
Das mit der Pipe .. muss ich mir mal ansehen.
LG
Felix
-
mekick schrieb:
Hab's in das andere Forum gepackt ...
Anderer Thread:
http://www.c-plusplus.net/forum/327345