バックグラウンドで外部スクリプトを起動および実行する方法は? [複製]

StackOverflow https://stackoverflow.com/questions/1605520

質問

    

この質問にはすでに回答があります:

         

これら2つの方法を試しました:

os.system("python test.py")

subprocess.Popen("python test.py", shell=True)

どちらのアプローチもtest.pyが終了してメインプロセスをブロックするまで待つ必要があります。 「nohup」を知っています仕事をすることができます。 test.pyまたは他のシェルスクリプトを起動してバックグラウンドで実行したままにするPythonの方法はありますか?

test.pyが次のようなものだとします:

for i in range(0, 1000000):
    print i

os.system()またはsubprocess.Popen()は両方とも、1000000行の出力が表示されるまでメインプログラムをブロックします。私が欲しいのは、test.pyをサイレントに実行させ、メインプログラムの出力のみを表示させることです。 test.pyの実行中にメインプログラムが停止する場合があります。

役に立ちましたか?

解決

subprocess.Popen([" python&quot ;," test.py"]) 動作するはずです

メインスクリプトが終了しても、ジョブが終了する可能性があることに注意してください。この場合、 subprocess.Popen([" nohup&quot ;," python&quot ;," test.py"])

を試してください。

他のヒント

os.spawnlp(os.P_NOWAIT, "path_to_test.py", "test.py")
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top