を扱うコマンドプロンプトで、私は私もテキストに出力を印刷するためにリダイレクトを行うクラッシュ
oo 1
oo 2
を書くことができますので、私は、1
または2
として入力を受け取り、実行可能oo.exe
を持って、MATLAB関数から実行ファイルを呼び出しますファイル。
MATLABのsystem
コマンドを使用して同じことをしています。
system('oo 1 >> op.txt');
system('oo 1 >> op.txt');
.exeがクラッシュした場合を除いてすべて正常に動作します。 * .exeが最初の行でクラッシュすると、クラッシュポイントがop.txt
になるまでテキストが印刷され、2番目の行(引数2
)は正常に実行されます(引数2
のクラッシュは想定されません)。 しかし、2行目が正常に実行されても、何も印刷されません。
しかし、コマンドプロンプトから2つの連続したコマンドで同じ操作を行うと、すべて正常に動作します。私はバッチファイルtest.batを書き、system
を使ってMATLABから呼び出すことでトリックを試みましたが、役に立たなかった。 実際、コマンドプロンプトからこのバットファイルを実行すると、2回目の実行時に、ファイルop.txt
がロックされたというメッセージが表示されました。
これはすべて、クラッシュが発生した場合にのみ発生します。
誰にも提案はありますか?
私はtest.batを直接ウィンドウコマンドプロンプトから呼び出してみましたが、同じ問題がありました。私は問題を解決することができませんでしたが、問題は、バッファが空であるかどうかにかかわらず、クラッシュのためにプログラムが終了するか、または破損するバッファに関係するようです。 –