制作在Python中运行和管理多个子程序的父程序的最佳方法是什么?

时间:2018-10-02 06:21:23

标签: python multiprocess

我有一个运行面部识别服务的Python程序。该程序带有提供用户界面的Tornado服务器,因此我可以看到识别结果。我有几个IP摄像机,我希望每个摄像机都具有单独的识别服务。

我现在所做的是:

import subprocess
import user_config

port = 9000
for cam in user_config.CAMERA_ID:
    command = "python recognition.py -camid "+cam+" -port "+str(port)
    p = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)
    port = port+1

这是执行此操作的好方法吗?如果说其中一个进程死了,我该如何检查并备份它?

1 个答案:

答案 0 :(得分:0)

您有两个选择:

  • multiprocessing

在其他进程中运行函数,可以通过argskwargs给出args。 您可以通过此策略使用共享的VariableArray

  • subprocess

使用命令行运行其他脚本,您可以在字符串中传递args并通过sys.argv找回它们