我有一个长时间运行的进程,stdout重定向到一个文件.例如.:
./my-script.sh > file.txt &
部分stdout仍然被缓存,但我想将其刷新到文件,以便更早地查看结果.有办法吗?
解决方法
缓存由libc处理.您可以使用stdbuf命令更改缓冲区大小:
stdbuf -o0 ./my-script.sh > file.txt &
-o0将stdout的缓冲区大小设置为0.可能你也想要-e0用于stderr.
我有一个长时间运行的进程,stdout重定向到一个文件.例如.:
./my-script.sh > file.txt &
部分stdout仍然被缓存,但我想将其刷新到文件,以便更早地查看结果.有办法吗?
缓存由libc处理.您可以使用stdbuf命令更改缓冲区大小:
stdbuf -o0 ./my-script.sh > file.txt &
-o0将stdout的缓冲区大小设置为0.可能你也想要-e0用于stderr.