我正在调试一个运行在Sun的JDK 1.4.2_18上的应用程序中的内存泄漏问题。看起来这个版本支持命令行参数-XX:+HeapDumpOnCtrlBreak,据说当JVM遇到control-break时会导出堆。如何将此命令发送到Linux框上的后台进程?看来 kill 信号是这种方式应该工作的方式,但我使用kill -l没有找到任何明显的Ctrl-Break选项,至少在我的Ubuntu框上没有。
更新:我测试了Kill -3和Sun JDK 1.4.2_18(第14版是第一次以这种方式转储堆),它可以工作。导出了一个堆转储文件,并且该进程仍在运行。
stty quit
进行配置,但我不确定它是否是所有系统的默认设置。 - ephemient