VisualVM支持執行不安全的BTrace腳本(https://kenai.com/projects/btrace/pages/UserGuide)。是否有可能使用不安全的BTrace腳本來終止/中斷某個Java線程?我的Eclipse IDE中的一些線程死鎖,我想正常關閉IDE。BTrace腳本殺死Java虛擬機Thread
「工人-3571」 PRIO = 6 TID = 0x00000000114b7800 NID = 0x964等待監視器條目[0x000000002a45f000] java.lang.Thread.State中:BLOCKED(對象監視器上) 在org.eclipse.jdt。 internal.ui.viewsupport.SelectionListenerWithASTManager $ PartListenerGroup $ 3.run(SelectionListenerWithASTManager.java:155) - 等待鎖定< 0x00000000f7490ce8>(java.lang.Object) at org.eclipse.core.internal.jobs.Worker.run (Worker.java:53)
「Worker-3568」prio = 6 tid = 0x00000000114b9000 nid = 0x2984等待監視器條目[0x000000002958f000] java.lang.Thread.State中:BLOCKED(對象監視器上) 在org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager $ $ PartListenerGroup 3.run(SelectionListenerWithASTManager.java:155) - 等待鎖定< 0x00000000f7490ce8> (一個java.lang.Object中) 在org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
「工人-3570」 PRIO = 6 TID = 0x00000000114bc000 NID = 0x1980在對象.wait()[0x000000002998f000] java.lang.Thread.State:WAITING(在對象監視器上) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:503 ) at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider。 java:457) - 鎖定< 0x00000000e10979a0>(java.lang.Object) at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128) at org.eclipse.jdt.internal.ui。 viewsupport.SelectionListenerWithASTManager $ PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170) 在org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager $ PartListenerGroup $ 3.run(SelectionListenerWithASTManager.java:155) - 鎖定< 0x00000000f7490ce8>(一個java .lang.Object) 在org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
我不知道有什麼辦法可以殺掉從JVM的除了JMX或一些其他通信外螺紋。 – Gray 2013-04-09 20:20:07
迄今爲止發現的最接近的是http://stackoverflow.com/questions/11610902/how-to-kill-a-java-thread-using-visualvm-or-using-a-unix-command/15911133# 15911133 – buzz3791 2013-04-09 20:33:34
Java不支持「查殺」線程。有沒有什麼BTrace可以幫助你:( – 2013-04-10 13:09:40