使用2个gtk窗口的python多处理

使用2个gtk窗口的python多处理,python,gtk,multiprocessing,Python,Gtk,Multiprocessing,我正在尝试制作一个python脚本,它使用多处理模块生成2个(或更多)GTK窗口。看来我在这里碰壁了。以下是我收到的代码和错误: p1 = Process(target=tiny_gtk_process, name="process 1") p1.start() p2 = Process(target=tiny_gtk_process, name="process 2") p2.start() 以及: 大多数情况下,我会: p1 = Process(target=tiny_gtk_proces

我正在尝试制作一个python脚本,它使用多处理模块生成2个(或更多)GTK窗口。看来我在这里碰壁了。以下是我收到的代码和错误:

p1 = Process(target=tiny_gtk_process, name="process 1")
p1.start()
p2 = Process(target=tiny_gtk_process, name="process 2")
p2.start()
以及:

大多数情况下,我会:

p1 = Process(target=tiny_gtk_process, name="process 1")
p1.start()
p2 = Process(target=tiny_gtk_process, name="process 2")
p2.start()
multiwin.py:X服务器上的致命IO错误0(成功):0.0。
python:../src/xcb_io.c:249:process_responses:Assertion`((long)(dpy->last_request_read)-(long)(dpy->request))问题很可能是您使用的是multiprocessing.process,它使用fork()而不是exec()创建新进程。这意味着每个子进程与其父进程共享相同的文件句柄,包括将其连接到X服务器的文件句柄。导致崩溃的原因是多个进程试图通过同一连接同时与服务器通信


更好的解决方案是使用subprocess.Popen或类似工具来启动进程。如果希望进程之间进行类似多进程的通信,请参阅。

您真的希望使用多进程,还是只希望有两个窗口?我真的需要将其放在单独的进程中。是否在调用脚本中导入gtk?我是ab当我在调用脚本中有一个导入gtk时,我可以复制你的问题,但当我删除它时,我不会复制你的问题,并且导入只在tiny_gtk_进程函数中。