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