问题描述
我的应用程序作为 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 (将#修改为@)