Jestem po prostu ciekawy. Strona man dla kill mówi, że QUIT, czyli sygnał nr 3, jest "rdzeniem". Wydaje się, że wszystko, co robi, dla procesów Java, zrzuca informacje o wątku. Czy zatem WYCOFANIE jest mylące? Czy po prostu JVM implementuje singal 3 handler, który zrzuca wątki?Jak działa "kill -QUIT process_id"?
Odpowiedz
QUIT to prawdopodobnie Mylna nazwa dla Javy. Ale ten argument może być mylący, jeśli aplikacja może zmienić domyślne zachowanie procedury obsługi sygnału.
W rzeczywistości zgodność między nazwami sygnałów UNIX a tym, co faktycznie robią, zawsze była nieco niejasna i niepewna. Jednak deweloperzy zajmują się tą "kwestią" przez 30 lat, nie będąc prawdziwym problemem.
I tak, zachowanie zrzutu stosu wątku Java jest realizowane przez maszynę JVM. Domyślnym zachowaniem UNIX/LINUX jest utworzenie zrzutu pamięci procesu, chyba że jest to hamowane przez inne czynniki.
Tak, JVM przechwytuje sygnał # 3, aby zrzucić wątki. Domyślnie, dla normalnego procesu unix, zrzuca on rdzeń (tj. Wykonuje migawkę pamięci procesu i zapisuje go do pliku) i kończy działanie.
Dla języka Java nie jest to zbyt pomocne, więc zamiast tego robi zrzut wątku.
- 1. kill -INT vs kill -TERM
- 2. wywoływanie metody quit() z QApplication
- 3. Eclipse - Save Folding on Quit
- 4. Kill Process Excel C#
- 5. Python Multiprocessing Kill Processes
- 6. Problem z kill exec kill podczas przekierowywania wyjścia w perl
- 7. W jaki sposób trap/kill działa w bashu na Linuksie?
- 8. Używanie KILL z zadeklarowaną zmienną
- 9. ASP.NET Kill Session By Id
- 10. Jak zabezpieczyć pracę hadoop z wdziękiem/przechwycić `hadoop job -kill`
- 11. Dlaczego wywołanie quit() przed exec() nie powoduje zamknięcia aplikacji?
- 12. W post-poleceń haka, to na polecenie-kill-word został przekształcony kill-region jakoś
- 13. Jak przebiega proces węzła Kill podczas zabijania na zawsze Proces
- 14. Proces Kill rozpoczął się od System.Diagnostic.Process.Start ("FileName")
- 15. Metoda C++ kill bez ciągłego sprawdzania flag
- 16. Kill process po określonym czasie bash?
- 17. Proszę wyjaśnić: pułapka "sudo kill -9 - - $$" EXIT
- 18. Kill interpon Pythona w linux z terminalu
- 19. Jak złapać sygnał KILL, HUP lub przerwania przez użytkownika?
- 20. Jak zabić proces nohup?
- 21. Kill Process, który jest tworzony od uruchomienia zadania
- 22. bash: licznik wewnątrz pętli while (zabić i kill -9)
- 23. xvfb-run: linia 171: kill: (25939) - Brak takiego procesu
- 24. Wykonywanie odpowiednika "Kill Process Tree" w języku C++ w Windows
- 25. Szyny: Jak ponownie uruchomić sidekiq?
- 26. Jak działa ta słynna JAPH?
- 27. pika, stop_consuming nie działa
- 28. Limit czasu wyjścia Unicorn na Heroku po zatrzymaniu TERM i wysłaniu QUIT
- 29. dired-x: Jak ustawić "Kill buffer of ... też?" na tak bez potwierdzenia?
- 30. Jak zabić tego nieśmiertelnego pracownika nginx?
Tak, QUIT jest mylące. Jak powiedział @Will, Sun właśnie zdecydował, aby sygnał 3 zrzucił wątki. – Gray