Python の「os」ライブラリを使用するだけで、Python を使用して外部プログラムを実行しています。
os.system("./script1") # script1 generates several log files and the most important for me is "info.log" !
os.system("./script2") # script2 uses the output from script1
問題は、これらのスクリプトが 50000 個の要素「for ループ」にあり、「script1」がジョブを完了するのに少なくとも 2 分かかることです (固定時間です)。最初の 1 ~ 2 秒で、出力が必要かどうかを確認できます。 「info.log」ファイルを調べて、データの有無を確認します。ただし、「script1」は既にコンパイル済みのプログラムであり、変更できないため、終了するまで待つ必要があります。
2 つのプロセスを同時に実行できるようにする Bash の方法について考えていまし
た./script1
。
サイズが更新または変更された場合、2 番目のスクリプトは両方のプロセスを終了する必要があります。
何かのようなもの:
os.system("./mercury6 1 > ./energy.log 2>/dev/null & sleep 2 & if [ $(stat -c %s ./info.log) -ge 1371]; then kill %1; else echo 'OK'; fi")
– これは機能しません...
どなたか方法をご存知でしたら教えてください!