Python多处理模块,Windows,通过创建新进程生成新的控制台窗口

时间:2013-02-18 13:07:33

标签: python windows console multiprocessing

我已经对此做了一些研究,发现了一些类似的问题,但没有人回答我真正想要的问题。我了解如何使用multiprocessing模块创建和使用流程。但是当我创建一个新进程时,我想生成一个新的控制台窗口,只是为了使用该进程,进行打印等,以便子进程不共享父进程的控制台窗口。有没有办法用multiprocessing模块做到这一点?

1 个答案:

答案 0 :(得分:3)

如果您要生成一个新的控制台窗口,那么您将启动一个新的Windows控制台进程以及在其中运行的新python进程。

所以简短(并且没有帮助)的答案是multiprocessing不会这样做,因为它只会产生python进程。

但是,我可以看到两种解决方法;

  • 您使用multiprocessing,每个进程都会创建一个显示所需文本的Tkinter窗口。 This问题有一个将logging输出发送到Tkinter窗口的示例。我建议Tkinter,因为它已经附带python,你可以使用PyQtwxWidgets等。

  • 使用subprocess生成一个完全独立的新python进程(或控制台窗口+进程)。请注意,您将无法以这种方式.join()或轻松共享线程状态。 This问题有一个如何创建新的python线程和窗口的示例。