在 SH 文件中并行运行多个具有无限循环的 Python 脚本

问题描述 投票:0回答:1

我有两个Python 脚本,其中有无限的while 循环。我想并行触发它们,并使用 SH 脚本文件让它在后台运行。如果我通过 SH 脚本文件单独运行 python 脚本,它们就会被执行。但是,如果我尝试同时运行两者,则脚本文件不会被执行。任何帮助将不胜感激。

这是我的SH文件配置。

#!/bin/sh
source /data/test_venv/bin/activate
/data/test_venv/bin/python3 /data/CV_MQTT.py &
/data/test_venv/bin/python3 /data/CV_Flask.py &

虽然语法是正确的,但我不确定上面的脚本中缺少什么。

注意 - 此 sh 文件具有访问权限和权限。

linux sh
1个回答
0
投票

在这种情况下使用子 shell 可能会有所帮助。我自己没有执行过下面的代码;不过,您可以尝试一下,看看是否得到您所期望的结果。

#!/bin/sh
source /data/test_venv/bin/activate
(/data/test_venv/bin/python3 /data/CV_MQTT.py) &
(/data/test_venv/bin/python3 /data/CV_Flask.py) &
wait  # To wait until processes running inside subshells are complete

在并行子 shell 中使用“wait”总是好的;然而,在你的情况下,它可能没有意义,因为 python 脚本有无限循环并且不会完成:)

问候, 尤拉吉

© www.soinside.com 2019 - 2024. All rights reserved.