如何解决无法终止python中的多处理进程
我在 python 中运行 multiprocessing.process,在该进程内我有一个 while 循环运行,直到满足某个条件。当我启动进程并满足条件时,进程正常完成,但是当我在“while 循环”运行时尝试终止它时,它不会终止。这是我的代码的骨架。 (不能提供完整的代码,它太大了) 我正在从 PYQT5 窗口(带有开始/停止按钮)开始该过程,并且我试图用相同的按钮按钮终止它。 蟒蛇 2.7 操作系统:Ubuntu 16.04
def control_exe(id):
while ( "check condition "):
#"do stuff"
print('finished process')
def Multifunc(list):
ps = []
for i in list:
p = multiprocessing.Process(target=control_exe,args=(i,))
ps.append(p)
p.start()
return ps
class control(qtw.QMainWindow,Ui_control):
def __init__(self,*args,**kwargs):
super(control,self).__init__(*args,**kwargs)
self.setupUi(self)
self.start_button1.clicked.connect(self.ejecutar_control1)
def ejecutar_control1(self):
if self.start_button1.text() == "Start 1":
print("Started")
self.start_button1.setText("Stop 1")
self.ps = Multifunc([1])
return
else:
for p in self.ps:
p.terminate()
print("Stop sent")
self.start_button1.setText("Start 1")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。