在Python子流程下分叉多个应用程序

时间:2010-04-30 21:53:48

标签: python subprocess

我一直在通过谷歌和SO寻找可以帮助我解决这个问题的事情,但我遇到了障碍。我对Python有点新,但我正在寻找一种方法来运行多个将在后台持续运行的应用程序。

例如,我需要启动4个应用程序,并将param -appnum设置为不同的值。我想使用python来计算,然后启动一个将继续运行的新应用程序。

我以为我会使用子进程,但我觉得文档有点不知所措。

我还打算让应用打印出数字序列,并希望将其重定向到文件。我注意到一些有关此问题的SO问题,但我对该怎么做有点困惑。

1 个答案:

答案 0 :(得分:1)

一种简单的启动方式可能是使用os.popen(),如下所示:

import os

subprogs = [None] * 4
for i in range(4):
    subprogs[i] = os.popen("app -appnum " + i, "r")

从这里开始,您可以像文件一样从每个subprog[i]读取,捕获app程序的输出。

请注意,虽然文档说这个函数已被弃用,但它仍然可以很好地用于许多目的。当您更熟悉os.popen()的限制时,可以浏览subprocess模块。