Portál AbcLinuxu, 10. května 2025 08:20
kdyz spustim svuj program, vypisuje cosi na stdout. Kdyz ho pustim pres:
$./program > vypis.txt
a nasledne dam:
tail -f vypis.txt
tak to trva peknou chvili, nezli dostanu neco na obrazovku. Tj. nic se neztrati, jenom je to o poznani pomalejsi nez vypis na stdout. Krom toho se vypis neobjevuje plynule, ale vzdy po nejake dobe se "vyplivne" do souboru kus vypisu. Muzete mi prosim nekdo vysvetlit, cim to je? Pripadne jak dojit k plynulemu vypisu do souboru? Cilem je ulozit vystup z program do souboru, ale pritom za behu sledovat, co vypisuje. Program je napsan v C, zadne zaludnosti, jako shell pouzivam bash.
Mnohokrate dekuji :)
Zdravi Michal
tee
?
fflush
.
jo, tee jsem zkousel. Chova se to stejne. Vypada to na nejaky buffer nebo co. Jdu omrknout ty linky... :)
Ahojda, takze jsem pridal do kodu radek:
setvbuf(stdout, NULL, _IONBF, 0);
a je vyreseno. Ted uz to bezi k me spokojenosti :)
Moc dekuji.
Zdravi Michal
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.