【发布时间】:2018-06-05 13:31:57
【问题描述】:
我的目标:
我想根据程序的运行时间将我的程序foo 的stdout 输出重定向到不断变化的输出文件。
程序foo 本身正在bsd 套接字上侦听到达的数据包并显示其中包含的信息。
所以本质上,在运行程序foo 10 分钟后,我希望有
stdout 输出
- 文件中的第一分钟
bar_0.dat - 文件
bar_1.dat内的第二分钟 - …
- 文件
bar_9.dat内的第10分钟
是否可以在 shell 脚本中实现这一点,如果可以,我该如何实现?
到目前为止我所管理的:
我只管理了这个解决方案,程序在每分钟后重新启动,并重定向到一个新的输出文件:
#!/bin/bash
for i in {0..9}
do
timeout 60s foo > "bar_${i}.dat"
done
但是,我希望程序 foo 持续运行,而不必重新启动它,因为我已经意识到我丢失了一些到达的数据包(运行实例之间有 20-30 毫秒的间隔) .
【问题讨论】:
标签: linux bash shell redirect stdout