[问题] 如何使用>,即时输入档案?

楼主: yeahhuman (人)   2014-05-13 06:22:41
我写了一个小c shell script,内容如下:
./test > test.log
类似这样的指令,">" 似乎都是累积了一定份量的内容后才会丢到之后的log里,
请问有没有办法让它可以有新讯息就直接丢到log里呢?
作者: CP64 (( ̄▽ ̄#)﹏﹏)   2014-05-13 06:53:00
stdbuf -i0 -o0 -e0 ./test 试试?
作者: bitlife (BIT一生)   2014-05-13 07:30:00
需要做log的程式,最好用自己开log档的方式而不要用输出转向,由程式自行控制何时flush output. 若一定要用 > ,那就是由程式自行flush stdout,反正都是由程式下手就对了
作者: Debian (Debian)   2014-05-13 09:28:00
定时去做之类的?写在cron里面是否可行?
作者: bitlife (BIT一生)   2014-05-13 10:03:00
和定时与否无关,主因是OS和c library都有输出入缓冲,就像原po说的要积满才会实际写入(cache或HD),主动呼叫flush可以强迫实际写入(cache或HD)

Links booklink

Contact Us: admin [ a t ] ucptt.com