Mi while loop no sale cuando se presiona Ctrl + C. Parece que ignora mi excepción KeyboardInterrupt. La porción de bucle se ve así:pitón exit infinite while loop with KeyboardInterrupt excepción
while True:
try:
if subprocess_cnt <= max_subprocess:
try:
notifier.process_events()
if notifier.check_events():
notifier.read_events()
except KeyboardInterrupt:
notifier.stop()
break
else:
pass
except (KeyboardInterrupt, SystemExit):
print '\nkeyboardinterrupt found!'
print '\n...Program Stopped Manually!'
raise
Una vez más, no estoy seguro de cuál es el problema, pero mi terminal ni siquiera se imprime las dos alertas de impresión que tengo en mi excepción. ¿Alguien puede ayudarme a resolver este problema?
Su primer 'excepto KeyboardInterrupt' atrapa la excepción. No será visible para el segundo 'excepto (KeyboardInterrupt, SystemExit)' si no lo vuelve a subir. – eumiro
@eumiro - Comenté el primer KeyboardInterrupt y reemplacé el contenido de la excepción con 'pass', pero sigo teniendo el mismo problema. Ctrl + C está siendo ignorado (ps aux muestra que el proceso todavía se está ejecutando) – sadmicrowave
@eumiro También intenté volver a subir la excepción KeyboardInterrupt agregando 'raise KeyboardInterrupt()' dentro del primer 'excepto KeyboardInterrupt:' sin embargo Todavía estoy experimentando el mismo problema. – sadmicrowave