Java进程在发送终止信号时不终止
有时,我们会遇到这样的情况:我们试图杀死一个java进程,但该进程没有终止,我们必须发送kill-9来终止它 问题:Java进程在发送终止信号时不终止,java,jvm,Java,Jvm,有时,我们会遇到这样的情况:我们试图杀死一个java进程,但该进程没有终止,我们必须发送kill-9来终止它 问题: 当java进程收到kill-15信号时,会发生什么 如果进程未终止,可能的原因是什么?如何诊断 :发送SIGTERM,终止进程,但允许它先进行一些清理。和平终止 等待i/o等 :发送SIGTERM,终止进程,但允许它先进行一些清理。和平终止 等待i/o等 当Java进程,或者更准确地说是热点JVM,接收到信号15(SIGTERM)时,它启动关闭序列。其基本步骤之一是调用 关机挂钩
当Java进程,或者更准确地说是热点JVM,接收到信号15(SIGTERM)时,它启动关闭序列。其基本步骤之一是调用 关机挂钩是常规Java线程。按照惯例,他们应该很快完成工作,但有时(就像常规Java代码一样)关闭钩子可能会循环、阻塞、等待某些东西或延迟终止。JVM将挂起,直到所有关闭挂钩完成
使用实用程序查找阻止及时终止的原因。在线程转储中查找
SIGTERM处理程序
线程-它可能会等待其他线程完成。当违规线程正在运行时,JVM将不会正常退出。当Java进程,或者更准确地说是热点JVM,接收到信号15(SIGTERM)时,它会启动关闭序列。其基本步骤之一是调用
关机挂钩是常规Java线程。按照惯例,他们应该很快完成工作,但有时(就像常规Java代码一样)关闭钩子可能会循环、阻塞、等待某些东西或延迟终止。JVM将挂起,直到所有关闭挂钩完成
使用实用程序查找阻止及时终止的原因。在线程转储中查找SIGTERM处理程序
线程-它可能会等待其他线程完成。当违规线程运行时,JVM不会正常退出