【问题标题】:Printed filesizes of files being written not updating?正在写入的文件的打印文件大小不更新?
【发布时间】:2018-04-16 06:55:15
【问题描述】:

我正在编写一个 shell 脚本,它在后台执行多个 tcpdump,然后等待用户终止。在等待时,我希望脚本打印出正在写入 .pcap 文件的文件夹的大小。到目前为止,即使文件越来越大,因为 tcpdump 命令继续运行,我也打印出相同的大小。

while true; do
echo ""
du -hcs <path>/<folder_name>
echo "Press enter to stop all traces: "
if read -rsn1 -t 5;
then
    break
fi
echo ""

完成

【问题讨论】:

    标签: bash shell while-loop filesize tcpdump


    【解决方案1】:

    尝试使用watch

    watch -n1 "du -hcs &lt;path&gt;/&lt;folder_name&gt;"

    这将每秒打印大小

    【讨论】:

    • 谢谢,但是使用watch 命令会给我一个周期性的打印输出,它会一直挂起,直到用 Ctrl+C 转义。这种方式永远不会执行以下命令,这对我来说是个问题。
    【解决方案2】:

    原来问题出在 tcpdump 命令上,在 tcpdump 中添加 -U 之前 -w 解决了问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-18
      • 1970-01-01
      • 2016-09-28
      • 2023-01-05
      相关资源
      最近更新 更多