我正在尝试从pyobjc gui(osx状态栏中的菜单)向我的应用程序的主进程发送信号。具体来说,我正在运行包装在类中的gui,并将其包装在进程中,并且试图通过管道将gui中的消息发送到主进程。当我使用一种简单的方法将数据放入管道时,我的代码起作用了。消息被传递到主进程,产生结果。main process... recv(): foo当我在子进程中启动gui并尝试将数据放入管道时,例如,当我单击菜单选项“启动”时,什么也没有发生。主流程行从未打印过,据我所知,主流程已被阻塞。我假设这与pyobjc中的事件循环有关。我该怎么做才能使这项工作?如何将pyobjc代码作为子进程运行?main.pyimport sysfrom multiprocessing import Process, Pipefrom userinterface import OSXstatusbaritemdef f2(pipe): print "starting subprocess f2" print pipe.send("foo") pipe.close()
添加回答
举报
0/150
提交
取消