执行 jstack 访问被拒绝

问题描述

我的应用程序作为 Windows 服务运行。 当我尝试从以管理员身份运行的 Cmd 中使用以下命令进行线程转储时,我在 Windows 2016 服务器上运行的机器上访问被拒绝

"D:\myapp\jre\bin\java.exe" -classpath tools.jar sun.tools.jstack.JStack 2544 >log1.txt

获取

2544:访问被拒绝

当我在运行 Windows Server 2012 的另一台机器上运行类似的命令时,它成功捕获了线程转储。 并且这两个服务都在本地系统上运行。

当我搜索并发现这个问题可能是由于在 Localsystem 下运行的服务和在不同进程下运行的命令提示符(我用来执行 jstack),我修改了该服务以作为我的用户帐户登录并重新启动服务,仍然拒绝访问。

还尝试使用 PsExec 使用以下命令:

 psexec -s "D:\myapp\jre\bin\java.exe" -classpath tools.jar sun.tools.jstack.JStack 2544 >log1.txt.

我不知道为什么,但我得到了

错误:无法找到或加载主类 sun.tools.jstack.JStack。

(只是补充一下,我正在从 tools.jar 所在的同一文件夹中运行此命令。)

我似乎在所有地方都被卡住了..任何帮助我都会非常感激

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...