web-dev-qa-db-ja.com

複数のPythonスクリプトを同時に実行してから順次実行する

このようにbashスクリプトから複数のPythonスクリプトを同時に実行できます。

#!/bin/bash
python pr1.py & 
python pr2.py &
python aop.py &
python loader.py &

しかし、バッチを同時に起動し、それらが実行された後、さらにいくつかを順次開始する場合はどうでしょうか。これは機能しますか?:

#!/bin/bash
python pr1.py & 
python pr2.py &
python ap.py &
python loader.py
python cain.py
python able.py
4
manners

&コマンドを使用すると、スクリプトがバックグラウンドで実行されます。ループにチェックを追加してコマンドjobsを実行し、ジョブのリストが引き続き返されるかどうかを確認できます。停止したら、次のpython呼び出しのバッチを続行できます。

0
LhasaDad

試してみませんか?

#1.py
import time
time.sleep(3)
print("First script")

#2.py
import time
time.sleep(3)
print("Second script")

プロセスをバックグラウンドで実行すると、pythonスクリプトの両方からの出力が同時に表示されます。

#!/bin/bash
python 1.py &
python 2.py &

&なしで実行すると、6秒後に2番目のスクリプトからの出力が表示されます。

#!/bin/bash
python 1.py
python 2.py

PS:並行して実行する場合は、依存関係と同時アクセスの問題に注意してください。

0
pmuntima