我正在使用找到的OSC库here。 我想通过编程退出程序系统出口()收到特定消息时。在
我用的是下面这样的:
oserve = OSC.OSCServer(('localhost', iportarg))
st = threading.Thread(target = oserve.serve_forever)
oserve.addMsgHandler("/logout", logout_handle)
def logout_handle(addr, tags, stuff, source):
sys.exit()
发出消息'/logout'将产生以下错误:
OSCServer: SystemExit on request from localhost:55827:
有人知道为什么吗?我在线程锁定的子进程中? 似乎OSC库/模块不允许我在系统进程仍处于活动状态时发出它。 任何想法都会很好。。。在
谢谢, 吉咪
我能推荐一种替代方法吗,使用一个标志},然后通过终止st线程然后退出来进行清理。在
done=False
循环,直到done
是{在我看来,像这样的事情更可取一些,你可以适当地清理资源。在
我们正在做的是生成一个两个greenlet都可以与之通信的异步结果,主greenlet循环直到它准备好停止侦听异步结果,另一个greenlet有一个钩子,它最终执行
logout_handle
,这会向主greenlet发出退出的信号。在相关问题 更多 >
编程相关推荐