2013-02-18 80 views
2

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

+0

我不知道该怎么做。我很好奇,为什么你需要一个新的控制台窗口的子进程。对于多处理模块来说,看起来很奇怪。 – 2013-02-18 14:27:07

回答

3

如果你要生成一个新的控制台窗口,然后你开始一个新的Windows控制台进程以及里面运行新的Python程序。

所以短期(和无益的)答案会是multiprocessing不会做这个,因为它只是派生的Python程序。

不过,我可以看到周围这两种方式;

  • 您使用multiprocessing,每个进程创建一个Tkinter窗口中显示你想要的文字。 This问题有用于发送logging输出到Tkinter窗口的例子。我建议Tkinter因为它已经与Python,你可以使用PyQtwxWidgets

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

+1

好的,谢谢!非常简洁。我想我会使用GUI解决方案,因为我的应用程序需要子进程来轻松共享数据。 – Ray 2013-02-18 15:02:23

相关问题