有时,我们会面对我们试图杀死一个java进程,但是进程没有终止,我们必须发送杀死-9来终止它。
提问:
发布于 2019-07-09 21:26:09
当一个Java进程,或者更准确地说,Java接收到信号15 (SIGTERM)时,它启动关闭序列。其基本步骤之一是调用停机钩。
关机挂钩是普通的Java线程。按照惯例,他们应该很快完成他们的工作,但是有时(就像普通的Java代码一样),关闭钩子可能会循环、阻塞、等待或以其他方式延迟终止。JVM将挂起,直到所有关机挂钩完成。
使用jstack实用程序查找阻止及时终止的原因。查找线程转储中的SIGTERM handler线程--它可能正在等待其他线程(违者)完成。当违者线程运行时,JVM不会正常退出。
jstack
SIGTERM handler
发布于 2019-07-09 10:30:52
kill -15
https://stackoverflow.com/questions/56948967
相似问题