コンドルを使用していくつかのシミュレーションを実行しており、コンソールに進行状況を出力するようにプログラムをコーディングしました。これはループの最後で行われ、現在の時刻が単純に出力されます (これはパーセンテージまたは経過時間でもあります)。コードは次のようになります。
printf("開始"); while (programNeedsToRum) { // コードの繰り返しコードを実行... // プログラムのステータス更新を表示 printf("[%i:%i:%i]\r\n", 時間, 分, 秒); } printf("FINISH");
正常に実行している場合 (つまり、ターミナル/cmd/bash で)、これは正常に動作しますが、コンドル ノードは状態に見えませんprintf()
。シミュレーションが終了すると、すべてのステータス更新がファイルに出力されますが、それ以降は使用できなくなります。コンドルに送信する *.sub ファイルは次のようになります。
宇宙=バニラ 実行可能 = プログラム output = out/out-$(プロセス) error = out/err-$(プロセス) キュー 100
サブミットされると、プログラムが実行され (これは で確認されcondor_q
ます)、出力ファイルには次のものが含まれます。
始める
プログラムが対応する出力ファイルの実行を終了すると、次のように表示されます (例):
始める [0:3:4] [0:8:13] [0:12:57] [0:18:44] 終了
プログラムの実行中、出力ファイルにはSTART
テキストのみが含まれます。そのため、プログラムを実行しているノードがビジー状態の場合、ファイルは更新されないという結論に達しました。私の質問は、出力ファイルを手動で更新する方法や、プログラムの進行状況に関する情報をより良い方法で収集する方法はありますか?
もうありがとう
マックス