je vois quand j'appuyez sur Ctrl-C pour quitter mon applicationerreur de sortie Python multitraitement
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
J'utilise tordu au-dessus de mes propres trucs,
Je me suis inscrit le signal Ctrl-C avec le code suivant
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()
et quand ils signalent d'autres à l'arrêt, il essaie de leur dire d'arrêter bien par
exit = multiprocessing.Event()
def shutdown(self):
self.exit.set()
où tous mes processus sont sous une certaine forme,
def run(self):
while not self.exit.is_set():
do something
out('crawler', 'crawler exited sucessfully')
Toute idée de ce que cette erreur? Je l'obtiens seulement quand j'ai plus d'une instance d'un fil particulier.
wow c'était vraiment génial. Toute bonne ressource en ligne qui expliquera quelque chose à une telle profondeur? –