【发布时间】:2020-10-19 12:42:51
【问题描述】:
所以我正在做一个项目,现在在 python2 中,以下代码可以正常工作。但我想升级到 python3,因为不再支持 python2。 所以在pin_event_down函数一个进程中,备份就开始了。备份进程和函数正在启动一些数据记录线程,然后它应该被关闭/杀死。在 python2 中, sys.exit() 工作正常,当阅读 python 文档时,他们说你应该使用 system.exit() 有没有人知道为什么这个过程永远不会结束?此外,每次特定引脚关闭时,它都会再次使用相同的 RAM 内存创建进程,从而用双倍的 1 个进程填充 ram。
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()
【问题讨论】:
-
分叉进程是否也收到
pin_event_down调用,或者您是否采取措施防止这种情况发生? -
@Thomas 不,他们应该是独立的。事件管理器是从一开始就启动的,我不相信他对流程备份有了解。 eventmanger 只处理 google api 事件。
标签: python multithreading memory process sys