Jak odstranit bufferovani vystupu v shellu?
Karel Salavec
karels na pc163.gr.ph.ct.cz
Pondělí Červen 23 14:23:03 CEST 2003
Zdravim!
Mam tu problemek, na kterem si lamu zbytky zubu :-(
Mejme program (closed source), ktery posila nejaka data do souboru.
Potreboval bych z techto dat _kontinualne_ vytahovat nektere hodnoty. Na
zpozdeni (v radu minut) az tak moc nezalezi, takze jsem se rozhodl jt cestou
nejmensiho odporu a naskriptovat to v shellu. Vytvoril jsem primitovni
konstrukci
tail -f vystup_programu | grep zajimava_hodnota
Takhle to funguje krasne a presne dle ocekavani. Druhy krok je presmerovani
do souboru, ktery si budu "ocuchavat" dalsim skriptem (a pripadne spustet
nejakou akci). Takze
tail -f vystup_programu | grep zajimava_hodnota > kontrolovany_soubor
A ted nastava problem: Vystup do souboru je bufferovany, takze v obdobi
slabsiho provozu by mohlo dojit i k nekolikahodinovemu zpozdeni mezi vyskytem
zajimave hodnoty a jejim projevenim v kontrolovanem souboru.
Hledal jsem ve vsech moznych manech, googlil jak vztekly, ale jak odstranit
bufferovani (v shellu), pripadne jak prislusny buffer flushnout na disk(opet
s shellu) jsem nenasel :-(
Jeste bych si dovolil podotknout, ze na one masince nesmi byt gcc, protoze
bezpecaci ...
Dekuji za nakopnuti
Karel
Další informace o konferenci Linux