मैं इस देख रहा हूँ जब मैं प्रेस Ctrl-C मेरे ऐपपायथन Multiprocessing बाहर निकलने त्रुटि
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
File "/usr/lib/python2.6/atexit.py", line 24, in _run_exitfuncs
func(*targs, **kargs)
File "/usr/lib/python2.6/multiprocessing/util.py", line 269, in _exit_function
p.join()
File "/usr/lib/python2.6/multiprocessing/process.py", line 119, in join
res = self._popen.wait(timeout)
File "/usr/lib/python2.6/multiprocessing/forking.py", line 117, in wait
return self.poll(0)
File "/usr/lib/python2.6/multiprocessing/forking.py", line 106, in poll
pid, sts = os.waitpid(self.pid, flag)
OSError: [Errno 4] Interrupted system call
Error in sys.exitfunc:
Traceback (most recent call last):
File "/usr/lib/python2.6/atexit.py", line 24, in _run_exitfuncs
func(*targs, **kargs)
File "/usr/lib/python2.6/multiprocessing/util.py", line 269, in _exit_function
p.join()
File "/usr/lib/python2.6/multiprocessing/process.py", line 119, in join
res = self._popen.wait(timeout)
File "/usr/lib/python2.6/multiprocessing/forking.py", line 117, in wait
return self.poll(0)
File "/usr/lib/python2.6/multiprocessing/forking.py", line 106, in poll
pid, sts = os.waitpid(self.pid, flag)
OSError: [Errno 4] Interrupted system call
मैं अपने खुद के सामान की चोटी पर मुड़ उपयोग कर रहा हूँ बाहर निकलने के लिए,
मैं संकेत Ctrl-C पंजीकृत निम्न कोड के साथ
def sigHandler(self, arg1, arg2):
if not self.backuped:
self.stopAll()
else:
out('central', 'backuped ALREADY, now FORCE exiting')
exit()
def stopAll(self):
self.parserM.shutdown()
for each in self.crawlM:
each.shutdown()
self.backup()
reactor.stop()
और जब वे बंद करने के लिए दूसरों का संकेत है, यह
के माध्यम से बंद अच्छी तरह से करने के लिए उन्हें बताने की कोशिश करताexit = multiprocessing.Event()
def shutdown(self):
self.exit.set()
जहाँ मेरे सभी प्रक्रियाओं किसी रूप में कर रहे हैं,
def run(self):
while not self.exit.is_set():
do something
out('crawler', 'crawler exited sucessfully')
किसी भी विचार इस त्रुटि क्या है? मुझे केवल तब मिलता है जब मेरे पास किसी विशेष थ्रेड के एक से अधिक उदाहरण होते हैं।
वाह वास्तव में बहुत अच्छा था। कोई भी अच्छा संसाधन ऑनलाइन जो ऐसी गहराई से कुछ समझाएगा? –