Mik*_*e B 5 linux java centos pid
CentOS 5.9
如果我运行kill -3 <java process pid>实际会发生什么?根据这篇红帽文章,我知道生成了 Java 线程转储,但进程是否终止?它似乎不是基于我的测试:
[root@foobox ~]# kill -3 14559
[root@foobox ~]# service foo status
foo (pid 14559) is running...
Run Code Online (Sandbox Code Playgroud)
换句话说:我可以通过这种方式收集线程转储而不影响服务吗?
希望kill -3不会终止 JVM 进程。
在堆栈跟踪收集期间,线程转储对服务的影响非常小,尤其是在有数千个线程正在运行的情况下。
请注意,如果使用该-Xrs标志,JVM 将不再专门处理该SIGQUIT信号,然后该信号可能会终止进程,除非在某些本机代码中存在备用处理程序。
https://superuser.com/questions/352147/what-does-kill-3-mean可能会为您提供更多信息。
由过程来确定它在接收到时将如何准确地做出反应 SIGQUIT
由于该信号可以被进程捕获、忽略或阻塞,因此它可能不遵守kill. 如果你想更近距离地观察,我建议strace在SIGQUIT用 kill发送它的同时用堆栈跟踪 PID 。
| 归档时间: |
|
| 查看次数: |
20130 次 |
| 最近记录: |