在Python子进程中分叉多个应用程序

1 投票
1 回答
530 浏览
提问于 2025-04-15 22:13

我一直在谷歌和StackOverflow上寻找解决办法,但遇到了一些困难。我对Python还不太熟悉,但我想找到一种方法,让多个应用程序在后台持续运行。

举个例子,我需要启动4个应用程序,每个应用的参数 -appnum 设置为不同的值。我想用Python来计数,然后启动一个新的应用程序,让它继续运行。

我本以为可以使用subprocess这个模块,但看文档的时候感觉有点无从下手。

我还打算让应用程序输出一串数字,并希望把这些输出重定向到一个文件里。我注意到一些StackOverflow上的问题提到了这个,但我对该怎么做有点困惑。

1 个回答

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 模块。

撰写回答