我目前正在编写一个应用程序来监视另一个 Java 进程并在达到某些目标时采取特定的行动。例如,如果某个线程死锁一段时间,则终止该线程,如果内存使用量超过特定数量,则发送电子邮件警报并终止该进程等。
我的应用程序将作为独立应用程序运行,监控特定的其他应用程序(在本地,尽管从我可以看到远程或本地在这里没有区别)。
我正在通过 MXBeans 监视外部 JVM,但是除了像“kill -9”这样的系统调用(顺便说一下,我在 UNIX 中工作)之外,还看不到杀死外部进程的干净方法。
有没有办法通过 MXBean 接口杀死 JVM?
格雷厄姆