,所以我在bash中运行以下命令:击输出流写入到文件
# somedevice -getevent
一下这个命令的作用是它只是不断运行,并且每次我的设备发送一个特定的数据,称它检测到的温度变化,它输出这样的东西
/dev/xyz: 123 4567 8910112238 20
/dev/xyz: 123 4567 8915712347 19
/dev/xyz: 123 4567 8916412345 22
/dev/xyz: 123 4567 8910312342 25
/dev/xyz: 123 4567 8910112361 18
/dev/xyz: 123 4567 8910112343 20
而这只是继续运行,只要它有任何原因它输出的东西。所以没有执行的结束。
没有回声工作完美,但是当我试图使用'>'运算符这似乎不写入文件。
所以例如
#somedevice -getevent > my_record_file
这不能正常工作,my_record_file只得到在间隔写入数据,但是我想立即写入。
任何想法?
滞后可能是由于输出缓冲。你可以改变程序在每次打印后做一次flush()或者在其标准输出上设置自动刷新吗? – 2012-03-17 18:04:26
好的,我想出了一个解决方案,这是一个缓冲问题'somedevice -getevent | grep“”--line-buffered> myrecordfile'解决了这个问题..也许它不是最好的主意,但现在这个黑客做了这份工作..谢谢你的帮助! – mur 2012-03-17 18:33:46