私は最適化に取り組んでいます。そのためには、matlabコードをLinuxプログラムにリンクし、出力を監視しておく必要があります。私は以下のこのshを使ってこのリンクを行っていましたが、複数の '式'を追跡することができなかったので、うまくいきませんでした。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
私はMathWorks社のMATLAB上で実装し、コードがうまく反応しなかった「結合」をやったとき。数分走った後、matlabが動かなくなり、端末から何の答えも得られなかった。私のプログラムの出力を手作業で調べると、プログラムに問題はなく、出力は通常書かれていたことに気付きました。
この問題は解決できません。私はshで多くの経験がありません。私は答えを探しましたが、何も見つかりませんでした。同じことを達成するための代替提案も歓迎されます。
ありがとうございます。