2 つの Python スクリプトがあります。最初のスクリプトは、サードパーティの Python スクリプトを実行する必要がある 2 番目のスクリプトのテーブルを呼び出します。次のようになります。
# the call from the first script.
cmd = "qsub -sync y -b -cwd -V -q long -t 1-10 -tc 5 -N 'script_two' ./script2.py"
script2thread = pexpect.spawn(cmd)
# end of script 1
ここでは、10 個のジョブをキューに送信しています。スクリプト 2 には、task_id に基づく case ステートメントがあります。それぞれで、異なるパラメーターを使用してサードパーティのスクリプトに同様の呼び出しを行います。
...
elif(task_id == 4)
subprocess.call(./script3)
# or
os.system(./script3 , shell=True)
ここに私の疑問があります。どちらかを使用することに違いや利点はありますか? Windows では、サポートの問題により、一方を他方に使用すると大きな違いが生じることはわかっていますが、私は Linux を使用しており、これを Windows で実行するつもりはありません。サブプロセスを使用すると、非常に奇妙な結果が得られることがあります。3 番目のスクリプトを一度に 1 つずつ個別に実行すると、ネットワーク上で他のものを見つけることができません。