ho a che fare con un server python-scritto che blocca e smette di funzionare, compresa la registrazione. Mi chiedo se c'è un pitone equivalente al segnale di java "uccidere -3" che almeno stampa lo stacktrace corrente.Come forzare VM di pitone per stampare una traccia dello stack?
8
A
risposta
0
È possibile trovare una (Unix-only) soluzione in this question.
2
import signal, traceback
def quit_handler(signum,frame):
traceback.print_stack()
signal.signal(signal.SIGQUIT,quit_handler)
4
utilizzare il modulo faulthandler. https://pypi.python.org/pypi/faulthandler/
import faulthandler
faulthandler.register(signal.SIGUSR1)
Questo funziona al di fuori di gestire a livello C del segnale del loop l'interprete di Python in modo da funzionare anche quando l'interprete Python in sé è appeso in attesa di qualcosa di diverso.
Consulta anche: http://docs.python.org/dev/library/faulthandler
+0
Come suggerito, 'faulthandler' è incluso nella libreria standard da Python 3.3+ – rescdsk
Problemi correlati
- 1. Come stampare una traccia dello stack in Node.js?
- 2. Come stampare traccia dello stack nel file di log
- 3. Come forzare l'interprete a mostrare la traccia di stack completa?
- 4. Come stampare la traccia di stack di StackOverflowException
- 5. Trasforma una traccia dello stack in una stringa?
- 6. Come trovare questa traccia dello stack?
- 7. Un modo semplice per stampare la traccia dello stack corrente di un'app?
- 8. Come posso stampare la traccia dello stack in runtime di un processo Ruby 1.9?
- 9. traccia dello stack python di stampa senza sollevare nessuna eccezione
- 10. Come copiare una traccia dello stack dalla console cromata?
- 11. Come generare una traccia dello stack profondo in node.js?
- 12. Come visualizzare la traccia dello stack su un'eccezione rilevata?
- 13. Come stampare la traccia dello stack dal layout personalizzato di logback?
- 14. C'è un modo per stampare la traccia dello stack su richiesta?
- 15. Individuazione della traccia dello stack effettivo Java da una traccia stack javascript
- 16. Ottenere traccia dello stack su Android NDK
- 17. Dov'è finita la traccia dello stack?
- 18. Traccia dello stack nativo su ICS?
- 19. Stampa traccia dello stack da un gestore di segnale
- 20. Che cosa significa "bloccato" in una traccia dello stack Java?
- 21. Come ottenere la form per non stampare la traccia di stack BuildException/ExitStatusException
- 22. nessuna traccia dello stack per errori del nodo gelsomino
- 23. Lua: Come chiamare l'errore senza traccia dello stack
- 24. Errore di traccia stack
- 25. Eccezione ricorrente senza traccia dello stack - come resettare?
- 26. Come mostrare la traccia dello stack completo su eclipse?
- 27. Come posso stampare il contenuto dello stack nel programma C?
- 28. Stampa i valori dei parametri sulla traccia dello stack
- 29. Come posso rilanciare un'eccezione e conservare la traccia dello stack?
- 30. Traccia stack come stringa
'uccidere -2' invia SIGINT, che almeno su Linux sembra tradursi in un' un'eccezione KeyboardInterrupt'. Ciò potrebbe causare il dumping di una traccia dello stack da qualche parte. Dipende ovviamente dal server. –