ipython / ipython/ipykernel

Interrupt on swallowed `KeyboardInterrupt` exceptions (`SIGINT`) when pressing twice (within 5 seconds)

Abierto
#1,550 1 comentario 1 reacción 1 asignado Reclamado por @Carreau Ver en GitHub
Lenguaje dominante
Python
Estrellas
734
Forks
412
Merge medio
1 d 5 h
PR fusionados (30 d)
8

Descripción

Consider

```python
import time
while True:
try:
time.sleep(1)
except BaseException:
pass
```

It is impossible to interrupt. But it does not have to be! With Python 3.12 we now have `sys.monitoring` and could instead show:

> The running code caught the interrupt and kept going. Interrupt again within 5 seconds to force it to stop.

Current behaviour:

https://github.com/user-attachments/assets/aa51f4cc-afb3-4d6b-9d4f-cc32361417a3

Proposed behaviour:

https://github.com/user-attachments/assets/f5e891d1-fa78-4c7a-87af-ff0d3458c146

This would be similar to what jupyter-server does for interrupts with Ctrl + C (pressing it twice forces shutdown).

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.