Python多进程模块,Windows,创建新进程时生成新控制台窗口
我做了一些研究,发现有一些类似的问题,但没有一个能真正回答我想要的内容。我知道如何使用multiprocessing
模块来创建和使用进程。但是,当我创建一个新进程时,我希望能为这个进程单独打开一个新的控制台窗口,用来打印信息等等,这样子进程就不会和父进程共享同一个控制台窗口。请问有没有办法用multiprocessing
模块做到这一点?
1 个回答
5
如果你要打开一个新的控制台窗口,那就意味着你不仅要启动一个新的Python进程,还要启动一个新的Windows控制台进程。
所以简单来说,multiprocessing
并不能做到这一点,因为它只会启动Python进程。
不过,我可以给你两个解决办法:
你可以使用
multiprocessing
,然后让每个进程创建一个Tkinter
窗口,显示你想要的内容。这个问题里有个例子,讲的是如何把logging
的输出发送到Tkinter
窗口。我推荐使用Tkinter
,因为它已经包含在Python里,你也可以用PyQt
、wxWidgets
等其他工具。你可以使用
subprocess
来启动一个完全独立的新Python进程(或者控制台窗口加进程)。需要注意的是,这样你就不能轻易地使用.join()
或者共享线程状态了。这个问题里有个例子,讲的是如何创建一个新的Python线程和窗口。