如何解决python3进程未在sys.exit上关闭
所以我正在研究一个项目,现在在python2中,以下代码可以正常工作。但是我想升级到python3,因为不再支持python2。 因此,在pin_event_down函数中,将启动一个进程。备份过程和功能正在启动一些数据记录线程,然后应将其关闭/终止。在python2中,sys.exit()可以正常工作,当阅读python文档时,他们说您应该使用system.exit(),有谁知道为什么进程永远不会结束?同样,每当特定引脚断开时,它会再次使用相同的RAM存储器再次创建进程,从而使RAM填充1进程的两倍。
def pin_event_down(self):
"""
This function is used to create a product pin event.
@return: None.
"""
#do some stuff
Process(target=self.backUp).start()
#do some stuff
def backUp(self):
"""
This function is used to create a backup feedback log.
@return: None.
"""
if product is not None:
self.logger.__init__()
self.logger.start()
#do some stuff
sys.exit()
解决方法
我认为这是因为您正在从Process调用sys.exit()。那只会终止当前进程,而不终止父进程。一种非常混乱的方法是在流程中使用os._exit(1)
,但这很危险,因此我不建议这样做。
此线程可能对您有所帮助: How to exit the entire application from a Python thread?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。