理论上,jdbc (java调试器)允许终止单个线程。在实践中,这可能吗?这里我将jdbc连接到我的JVM,它在端口8000处有一个agentlib:
$ jdb -attach 8000
>
我列出线程:
> threads
Group system:
(java.lang ...
[...]
我发现有问题的线程并试图杀死它:
> kill 0x21bb new java.lang.Exception("die!")
killing thead: pool-766-thread-1
> com.sun.tools.example.debug.expr.ParseException: Unable to create java.lang.Exception instance
Expression must evaluate to an object
所以线程不能被杀死?
如何在jdbc中创建一个新的Exception,把它交给线程去死?
以下关于SO does的回答似乎只是强制执行您的问题。
但是下面的答案可能确实回答了你的问题…
有可能jconsole/jvisualvm也在运行。我也有同样的问题,但是当我关闭jconsole时,jdbc kill命令工作了。