我有两个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 文件具有访问权限和权限。
在这种情况下使用子 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 脚本有无限循环并且不会完成:)
问候, 尤拉吉