我已经做了一些研究,发现了一些类似的问题,但没有回答我真正想要的。 我了解如何使用multiprocessing
模块创build和使用进程。 但是,当我创build一个新的进程时,我想生成一个新的控制台窗口,只是为了使用该进程,打印等,以便subprocess不共享父进程的控制台窗口。 multiprocessing
模块有没有办法做到这一点?
如果你要产生一个新的控制台窗口,那么你将开始一个新的Windows控制台进程以及在其中运行的新的Python进程。
所以简短(而且没有帮助)的答案是multiprocessing
不会这样做,因为它只产生python进程。
不过,我可以看到两个方面,
您使用multiprocessing
,每个进程创建一个Tkinter
窗口显示您所需的文本。 这个问题有一个发送logging
输出到Tkinter
窗口的例子。 我建议Tkinter
因为它已经与python,你可以使用PyQt
, wxWidgets
等
你使用subprocess
进程产生一个完全独立的新的Python进程(或控制台窗口+进程)。 请注意,您将无法以这种方式轻松地加入.join()
或共享线程状态。 这个问题有一个如何创建一个新的python线程和窗口的例子。