【问题标题】:Run python commands in parallel in Linux shell scripting在 Linux shell 脚本中并行运行 python 命令
【发布时间】:2019-09-11 22:21:44
【问题描述】:

我有一个脚本,它通过命令行参数从用户那里获取输入。它处理参数并开始运行 python 命令。例如:

./run.sh p1 p2 p3 p4
python abc.py p1 p4
python xyz.py p2 p3 

其中p1p2p3p4 可以是任何类型。

我需要在两个不同的终端中并行运行这两个 python 命令。我该如何做到这一点,以便我无需等待 1 个命令完成即可开始下一个命令?

我尝试了 GNU 并行,但它似乎不起作用。

【问题讨论】:

标签: python linux shell


【解决方案1】:

通过在命令末尾添加& 尝试在后台运行每个进程。

python script1.py arg1 arg2 &
python script2.py arg1 arg2 &

echo "Running scripts in parallel"
wait # This will wait until both scripts finish
echo "Script done running"

More Info

【讨论】:

  • 记住最后的“等待”
【解决方案2】:

你的任务不是 GNU Parallel 擅长的地方,但它可以完成:

parallel ::: "python abc.py p1 p4" "python xyz.py p2 p3"

【讨论】:

    最近更新 更多