CentOS 5.9
如果我运行kill -3< java process pid>实际发生了什么?根据this red hat article,我知道生成了Java Thread Dump,但进程终止了吗?它似乎不是基于我的测试:
[root@fooBox ~]# kill -3 14559 [root@fooBox ~]# service foo status foo (pid 14559) is running...
换句话说:我可以通过这种方式收集线程转储而不会影响服务吗?
解决方法
希望kill -3不会终止JVM进程.
在stacktrace集合期间,线程转储会对服务产生轻微影响,尤其是在运行数千个线程的情况下.
请注意,如果使用-Xrs标志,则JVM不再具体处理SIGQUIT信号,然后该信号可能会终止该进程,除非某些本机代码中存在备用处理程序.