我尝试让它iftop
执行80000秒并输出到文件:
sudo iftop -i wlan0 -s 80000 -t > "$file"
然而我在文件中找到的只是
Listening on wlan0
没有实际输出。当我删除 时-s 80000
,它就可以正常工作。
为什么文件中没有实际输出?
答案1
iftop -h
说-s num
打印一个单身的文本输出后 num
秒,然后退出。
如果在仍在收集数据时检查文件iftop
,结果尚未出现。使用-s 80000
该工具应在 22 小时后退出。阅读文件然后。
要捕获多个输出块:
在一个循环中运行
iftop -t -s …
几次。请注意,这会产生开销:-s 1
可能需要 2 秒左右;因此在这种情况下,循环次数不会简单地转化为总时间。并且总统计数据(“累积”等)在每个循环中都是独立的,因此这不是最佳方法。您可能希望>>
每次都附加 () 或重定向整个循环的输出。使用
timeout
。例如:sudo timeout -s INT --foreground 20 iftop -i wlan0 -t
timeout --foreground … sudo …
看起来更安全,但它很可能不会起作用,因为的子代sudo
不会超时。iftop -t … > …
在后台运行,sleep
只要您愿意,最后杀死iftop
。不起作用,因为
iftop
无论如何都想使用终端。一个麻烦的解决方法是iftop
在前台运行,然后sleep
在kill
另一个终端中运行。