Actualmente estoy escribiendo una aplicación para supervisar otro proceso de Java y realizar acciones específicas cuando se golpean ciertos objetivos. Por ejemplo, si un hilo interbloquea durante un tiempo determinado, elimine el hilo, si el uso de la memoria excede una cantidad específica, envíe alertas por correo electrónico y mate el proceso, etc.¿Es posible cerrar programáticamente un proceso de Java a través de JMX
Mi aplicación se ejecutará como una aplicación independiente , monitoreando otras aplicaciones específicas (localmente, aunque desde lo que puedo ver a distancia o local no hace diferencia aquí).
Estoy monitoreando las JVM externas a través de MXBeans, pero no veo una manera limpia de matar el proceso externo excepto una llamada al sistema como 'kill -9' (estoy trabajando en UNIX por cierto).
¿Hay alguna manera de matar una JVM a través de las interfaces MXBean?
Graham
No conozco una forma inmediata de hacer esto, pero tiendo a implementar un MBean de "parada de emergencia" que simplemente llama a System.exit cuando se llama (también le permito pasar en el código de retorno de salida). – Adamski