【发布时间】:2016-03-19 17:43:18
【问题描述】:
我正在进行优化,为此我需要将 matlab 代码链接到 linux 程序并持续监控输出。我已经使用下面的这个 sh 完成了这个链接,但是它效果不佳,因为我无法跟踪多个“表达式”。
#!/bin/bash
../program inputfile &> OutputFile.dat &
tail -f OutputFile.dat | sed -n '/NaN/q;/STOP/q'
killall program
我在这里寻求帮助,我得到了一个很好的解决方案。该解决方案部分解决了问题。在提示符下运行程序,可以跟踪这些表达式并在需要时终止程序。给出的解决方案是:
#!/bin/bash
( stdbuf -o 0 -e 0 ../program inputfile & ) &> OutputFile.dat
sed -n '/NaN/q;/STOP/q' <(tail -f OutputFile.dat)
killall program
当我在 matlab 上实现并执行“链接”时,代码反应不佳。运行几分钟后,matlab 卡住了,我无法从终端得到任何答案。当手动查看我的程序的输出时,我意识到程序没有问题,并且输出正常被写入。
我无法解决这个问题。我对sh没有太多经验。我已经搜索了答案,但我找不到任何答案。也欢迎实现相同目标的替代建议。
提前致谢
【问题讨论】:
标签: linux bash matlab shell monitoring