在64位Windows上发送ctrl-break到java进程在32位Windows上发送信号
我经常使用websphereapplicationserver进程(Server、launchClient、wsadmin等)工具来生成堆转储。但是,sendsignal在64位机器上不起作用。有人知道向远程进程发送ctrl-break的替代方法吗 更新:指出这与下面的问题基本相同。所以,我想我的问题是:在过去的两年里,有没有人找到了绕过这一限制的方法在64位Windows上发送ctrl-break到java进程在32位Windows上发送信号,java,windows,64-bit,websphere,signals,Java,Windows,64 Bit,Websphere,Signals,我经常使用websphereapplicationserver进程(Server、launchClient、wsadmin等)工具来生成堆转储。但是,sendsignal在64位机器上不起作用。有人知道向远程进程发送ctrl-break的替代方法吗 更新:指出这与下面的问题基本相同。所以,我想我的问题是:在过去的两年里,有没有人找到了绕过这一限制的方法 为什么要对转储使用控制中断?为什么不使用提供的命令来执行此类活动 $AdminControl调用$objectName generateHea
为什么要对转储使用控制中断?为什么不使用提供的命令来执行此类活动 $AdminControl调用$objectName generateHeapDump 这将为您提供所需的信息,您将获得所需的转储 嗯 曼格鲁 指向适用于windows 2003和windows 2008的x64版本的最新评论链接: (2013-9-26):32位和64位EXE版本都可以 从以下链接下载: --GeorgeP(2014-3-7):我使用Ctrl-C构建了32位和64位版本,名为SendSignalCtrlC.exe,您可以在以下位置下载: --朱拉伊·米查拉克
查看此帖子:@Bengt是的,我想我是在问自那以后情况是否有所改善:-)。谢谢,但这只适用于服务器进程(我更新了我的问题),即使如此,如果服务器进程被挂起或过载到无法响应JMX/SOAP的程度,那么它将不起作用。有没有办法在Windows上使用unix实用程序的任何gnu端口?如果是的话,杀戮-3可以帮上忙。我个人还没有在windows机箱上尝试过,但值得一试。至少Cygwin kill-3没有产生预期的效果。谢谢,我没有注意到这一点。不幸的是,我无法让代码示例正常工作(它似乎对远程进程没有影响)。你自己试过了吗?或者有什么建议吗?@BrettKail,目前有几种假装有效的解决方案。例如,参见rogerdpack的。但我已经尝试使用jstack强制java线程转储分离文件:。很有趣,谢谢您的评论。不幸的是,在IBM JVM上获得javacore/heapdump/systemdump需要实际的ctrl键中断。(同样不幸的是,为了调查/验证链接的解决方案,我不再轻易访问我曾经拥有的各种Windows+JVM环境。)