我有一个可执行文件,它从接口FPGA执行数据采集并以特定格式存储。偶尔,随机,采集代码停止引用接收错误。但是,重新运行可执行文件可以正常工作。
因此,一个临时安排是在shell脚本中运行可执行文件。需要监控相应的过程。如果采集停止(并且流程结束),则脚本应重新运行可执行文件。
有关如何解决的任何提示?
答案 0 :(得分:1)
根据你的描述,听起来你只是想要一个无休止的循环,一次又一次地调用收集器。
while true; do
collector
done >output
将输出重定向到循环外部更有效(您只打开文件一次写入)以及更简单(您不必在循环中弄清楚是否覆盖或追加)。如果你的收藏家没有在标准输出上产生数据,那么当然,这个细节没有实际意义。
答案 1 :(得分:0)
grep for shell脚本包装器中的可执行进程。如果未找到PID,则重新启动。您需要将Shell包装程序安排为cron作业。