Tutorials

18.05.2009 09:36 Alter: 8 yrs

unbuffered output wenn redirecting stdout

Rubrik: Aktuelles, Tutorials

Wenn man unter Linux die Ausgabe von stdout in eine Datei umleitet, wird die Ausgabe gebuffert. Falls man direkt die Ausgabe in die Datei schreiben möchte, genauso wie es geschieht, wenn man keine Umleitung in eine Datei vornimmt, dann hilft "Unbuffer". Dieses nutzt expect und täuscht einen "normale" stdout vor, statt einer Datei. So ist es möglich ohne buffering direkt in eine Datei zu schreiben und die Ausgabe in einem Programm zu verwenden. 

Einige interessante Details finden sich hier in diesem Artikel zu "Automatically flushing redirected or piped stdout".

Expect läßt sich unter Ubuntu 9.04 einfach per aptitude install expect expect-dev installieren. im Packet expect-dev ist auch das Unbuffer-Skript enthalten.