python - 制作在 Python 中运行和管理多个子程序的父程序的最佳方法是什么?
问题描述
我有一个运行面部识别服务的 Python 程序。该程序带有一个提供 UI 的 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
这是一个好方法吗?如果假设其中一个进程死亡,我该如何检查并恢复它?
解决方案
你有两个选择:
multiprocessing
在另一个进程中运行一个函数,你可以通过args
and给 args kwargs
。你可以使用 sharedVariable
和Array
这个策略
subprocess
使用命令行运行另一个脚本,您可以在字符串中传递 args 并让它们通过sys.argv
推荐阅读
- android - 对 Json 数据进行改进的 Android 身份验证
- python - 如何设置Qframe框架的颜色?
- vue-i18n - 带有 2 个数字参数的字符串
- reactjs - 状态更新后不调用渲染
- amazon-web-services - 使用 boto3 在 S3 中生成签名 URL
- sql-server - 尝试在 Docker for Mac 上运行 SQL Server:找不到事件
- tensorflow - 在 Textsum 示例模型中,“train/eval/test”文件夹在哪里?
- git - 无法推送 git,尽管状态告诉“最新”
- java - 改造 2 - SSLException 而不是 413
- wordpress - 构建自定义 Wordpress 主题的最通用方法是什么?