我将一些工具的stdout重定向到tee命令,以便可以在终端和日志文件中看到当前的进度。
这是我运行工具并将其stdout提供给tee命令的代码片段,这个代码片段是从tcl脚本编写的。
$(EH_SUBMIT) $(ICC_EXEC) $(OPTIONS) -f ./scripts/$@.tcl | tee -i ./logs/$@.log
我可以在终端上看到当前的实时进度,但在日志文件中却看不到同样的观察结果!并且它会将stdout分块写入日志文件。
“tee”是如何工作的?它是按块还是按时间或两者兼而有之进行写入的? 如果是块,最小块大小是多少?如果是时间,最短持续时间是多少?
我需要解析实时日志条目以进行一些数据分析(通过“tail -f”读取日志文件,然后在日志文件增长时推送新数据)。
-s
选项,tail
只会睡眠。 - hek2mglinotify
不可用。在这种情况下,你是正确的!;) - hek2mgl