Solo tengo curiosidad. La página de manual para kill dice que QUIT, aka señal # 3, es una señal de "núcleo". Parece que todo lo que hace, para los procesos de Java, es volcar la información del hilo. Entonces, ¿el QUIT está mal nombrado? ¿Es solo que la JVM implementa un controlador singal 3 que descarga hilos?¿Cómo funciona "kill -QUIT process_id"?
Respuesta
QUIT es discutiblemente un nombre inapropiado para Java. Pero por ese argumento cualquier nombre de señal podría ser un nombre inapropiado si una aplicación puede cambiar el comportamiento predeterminado del manejador de la señal.
En realidad, la correspondencia entre los nombres de las señales de UNIX y lo que realmente hacen siempre ha sido un tanto vaga y tenue. Sin embargo, los desarrolladores han estado lidiando con este "problema" durante más de 30 años sin que sea un problema real.
Y sí, el comportamiento de volcado de la pila de subprocesos de Java es implementado por la JVM. El comportamiento predeterminado de UNIX/LINUX es crear un volcado de memoria del proceso, a menos que esto sea inhibido por otros factores.
Sí, la JVM captura la señal # 3 para volcar hilos. De forma predeterminada, para un proceso de Unix normal, vuelca el núcleo (es decir, toma una instantánea de memoria del proceso y lo escribe en un archivo) y sale.
Para Java, eso no es muy útil, por lo que hace un volcado de subprocesos.
- 1. Kill a python process
- 2. cerrar/kill transacción
- 3. Gancho Emacsclient en kill
- 4. Kill a niño colgado proceso
- 5. Cómo vincular ESC al teclado-escape-quit en Emacs?
- 6. Kill Thread in Pthread Library
- 7. Cómo enlazar C-k a kill-region si la región se seleccionó; else kill-line
- 8. C# Kill todas las discusiones
- 9. Kill/Yank (cortar/pegar) en ZSH
- 10. Prevenir la aplicación C# del proceso kill
- 11. -XX: OnOutOfMemoryError = "kill -9% p" Problema
- 12. kill -9 y aplicación de producción
- 13. Kill background script php (alojamiento compartido)
- 14. Kill escritura del golpe foreground niños cuando llegue una señal
- 15. Datos perdidos perdidos después de la aplicación kill usando NSUserDefaults
- 16. Integrar el kill-ring de readline y el portapapeles X11
- 17. ¿La señal KILL sale de un proceso de inmediato?
- 18. "Diff, save or kill" al matar búferes en Emacs
- 19. zsh: stop backward-kill-word en el delimitador de directorios
- 20. ¿Cómo matar un proceso nohup?
- 21. Eliminar una palabra sin agregarla al kill-ring en Emacs
- 22. kill -3 para obtener el volcado del hilo java
- 23. Realización equivalente de "Kill Process árbol" en C++ en ventanas
- 24. ¿Por qué se requiere sid en 'KILL SESSION' (Oracle SQL)?
- 25. ¿Cómo funciona InputStreamReader.close() de forma interna?
- 26. en Emacs, ¿cuál es la mejor manera para teclado-escape-quit no destruir otras ventanas?
- 27. ¿Cómo funciona este "retraso" funciona
- 28. ¿Cómo funciona Arrays.asList (...). Contiene (...) funciona?
- 29. Sigo recibiendo métodos QUIT y CONNECT HTTP enviados a mi servidor, ¿qué significan?
- 30. El hilo Qt no se detiene después de llamar a exit/quit
Sí, QUIT es un nombre inapropiado. Como dijo @Will, Sun simplemente decidió hacer que la señal 3 volcara los hilos. – Gray