在Python中执行和监视外部程序的多个实例

2024-04-25 17:33:05 发布

您现在位置:Python中文网/ 问答频道 /正文

主程序如下:

PREPARE PARAMETERS FOR CHILD PROCESSES
subprocess.Popen('python child.py param=example1'.split(' '))
subprocess.Popen('python child.py param=example2'.split(' '))
...

如何使主程序监视它启动的子进程的每个实例,并在未运行时用相应的参数重新启动它。在

保持子进程的多个实例运行而不是在主进程中实现多线程体系结构的目的是尽可能多地利用CPU和数据库吞吐量。在


Tags: 实例pychildforparam进程preparesplit
1条回答
网友
1楼 · 发布于 2024-04-25 17:33:05

保留一个dict,其中子进程的.pids作为键,并用命令行重新启动它们作为相应的值。i、 电子邮箱:

childid = []
for cmdline in cmdlines:
  p = subprocess.Popen(cmdline.split())
  childid[p.pid] = cmdline

每当任何子进程终止时,os.wait都将返回:它给出子进程的(pid,exitstatus)。所以只要适当地重新启动并维护childid。i、 电子邮箱:

^{pr2}$

假设您有一些关于这个无限循环何时结束的标准,我只是使用mustcontinue作为这些条件的名称;-)。在

相关问题 更多 >