![](/img/trans.png)
[英]Python: How to choose one of multiple scripts as a package to import into a main script, when located in different directories?
[英]How to submit 2 jobs (to run 2 python scripts in parallel located in 2 different directories) in linux?
我需要在没有任何交互的情况下并行运行2个不同的python脚本:script1和script2。 通过以下方式定位它们:
dir0包含文件jobcript.py和2个目录dir1,dir2。 dir1包含script1,dir2包含script2。
jobscript.txt中包含以下几行。
#!/usr/bin/python
import subprocess
exit_code1 = subprocess.call(["python", "./dir1/script1", "-o"], shell=False)
exit_code2 = subprocess.call(["python", "./dir2/script2", "-o"], shell=False)
我在linux中运行了以下命令:
$ python jobscript.py -o
但这是连续进行的。 如何并行运行它们? 解决方案非常感谢!
您可以使用Shell将流程置于后台:
from subprocess import call
call(["python ./dir1/script1 -o &"], shell=True)
call(["python ./dir2/script2 -o &"], shell=True)
“&”告诉bash将其放在后台。 如果希望python脚本等待每个脚本的结果,则需要创建一个线程。 我怀疑您想使用bash脚本而不是python:
#!/bin/bash
python ./dir1/script1 -o &
python ./dir2/script2 -o &
PS:为什么首先要通过子流程从python调用python脚本? 您可以直接访问该代码。 如果您希望它并行运行,那么多线程或多处理就是您的朋友。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.