![无法读取正在运行 C 程序生成的文本文件](https://linux22.com/image/932796/%E6%97%A0%E6%B3%95%E8%AF%BB%E5%8F%96%E6%AD%A3%E5%9C%A8%E8%BF%90%E8%A1%8C%20C%20%E7%A8%8B%E5%BA%8F%E7%94%9F%E6%88%90%E7%9A%84%E6%96%87%E6%9C%AC%E6%96%87%E4%BB%B6.png)
我有一个小的 C 程序 d,它运行时间很长,并产生大量文本输出。当我使用 ./d 运行该程序时,我可以看到输出在屏幕上滚动,但如果我执行
./d > d10.txt,我无法使用 cat d10.txt 读取 d10.txt,直到程序完成。为什么会这样?在程序运行时我可以做什么来监视输出?谢谢任何提示 H
答案1
您看不到输出,因为您正在将其重定向到文件中。
要查看输出并将其存储在文件中,请使用以下tee
程序:
./d | tee d10.txt
您也可以这样做,但这需要做更多的工作:
> d10.txt
tail -f d10.txt &
./d >> d10.txt
kill %1