Mam do czynienia z serwerem napisanym przez Pythona, który blokuje się i przestaje działać, włączając rejestrowanie. Zastanawiam się, czy istnieje python odpowiadający sygnałowi "kill -3" java, który przynajmniej wypisuje bieżący stacktrace.Jak zmusić VM Pythona do drukowania śledzenia stosu?
8
A
Odpowiedz
0
Możesz znaleźć rozwiązanie (tylko dla systemu Unix) w wersji this question.
2
import signal, traceback
def quit_handler(signum,frame):
traceback.print_stack()
signal.signal(signal.SIGQUIT,quit_handler)
4
pomocą modułu faulthandler. https://pypi.python.org/pypi/faulthandler/
import faulthandler
faulthandler.register(signal.SIGUSR1)
ta działa poza sygnałem interpreter Pythona pętla przeładunku na poziomie C, więc to będzie działać nawet wtedy, gdy sam interpreter Pythona jest zawieszony czeka na coś innego.
Zobacz także: http://docs.python.org/dev/library/faulthandler
+0
Jak wskazujesz, 'faultampleler' jest zawarty w standardowej bibliotece z Python 3.3+ – rescdsk
Powiązane problemy
- 1. Nazwy metod śledzenia stosu redagowane
- 2. Brak śledzenia stosu z NSAssert
- 3. C#: jak ukryć metodę ze śledzenia stosu?
- 4. wydruk śledzenia stosu python bez wyjątku podniesiony
- 5. Znajdowanie śledzenia stosu w Eclipse z Androidem
- 6. Tłumienie śledzenia stosu w karmie (AngularJS)
- 7. Drukowanie śledzenia stosu w C++ (MSVC)?
- 8. C# Uzyskaj metodę wywoływania bez śledzenia stosu
- 9. Uzyskanie wyniku śledzenia stosu uruchomionego procesu
- 10. Konfiguracja gry! Struktura do wyświetlania pełnego śledzenia stosu
- 11. Drukowanie śledzenia stosu z innego wątku
- 12. Informacje dotyczące śledzenia stosu wydruku z C#
- 13. Wyjątek bez śledzenia stosu w Javie
- 14. Jak przenieść folder VM VM?
- 15. Java wysyłania stosu śledzenia do innego strumienia wyjściowego
- 16. Jak zmusić Pythona Apns-Client do uniknięcia używania SSL 3?
- 17. Jak wydrukować stos stosu StackOverflowException
- 18. Jak mogę nakazać kompilatorowi zignorowanie metody śledzenia stosu?
- 19. Jak uzyskać ciąg śledzenia stosu bez podnoszenia wyjątku w pythonie?
- 20. Minikube: jak ssh do VM?
- 21. Jak zapewnić synchronizację zegara VM VMware VM?
- 22. funkcja drukowania Pythona w czasie rzeczywistym
- 23. Pandy Pythona, opcje drukowania dla wielu linii
- 24. problem ze zrozumieniem Pythona gc.garbage (do śledzenia wycieków pamięci)
- 25. pobranie śledzenia stosu przy próbie wykonania polecenia tryCatch w R
- 26. Nie wyświetlaj ścieżek plików komputera kompilowanego w trakcie śledzenia stosu.
- 27. Behat z PhpStorm nie wyświetla śledzenia stosu wyjątków
- 28. Django: manage.py nie drukuje śledzenia stosu dla błędów
- 29. TaskCanceledException w wyjątku AggregateException nie zawiera śledzenia stosu
- 30. Aurelia: Dostęp do rodzicielskiej metody VM z poziomu dziecka VM
'zabić -2' wysyła SIGINT, który przynajmniej na Linux wydaje się przełożyć na' KeyboardInterrupt' wyjątku. To może spowodować, że gdzieś zostanie zrzucony ślad stosu. To zależy oczywiście od serwera. –