Pythonでシェルスクリプトを実行
外部マクロをPythonのサブプロセスで実行した時のメモを残します。
Pythonで外部スクリプトを実行する際、「subscript.call()」関数を用いました。
ここでは、外部マクロをマルチプロセス で動かしたかったので「Process」クラスを利用しました。
from multiprocessing import Process import subprocess def f1(): script = subprocess.call(['bash', './shellscripts/while_1.bash']) #print(script) print("END") if __name__ == '__main__': p = Process(target=f1) p.start() print("Process starts...")
subprocess.call()で実行しているwhile_1.bashは2秒おきに0~9の数字をecho文で出力する処理です。
以下のように、Pythonの__main__部分の処理後にsubprocessが始まります。
Process starts... 0 1 2 3 4 5 6 7 8 9 END