Come connettersi a un processo Java in esecuzione

February 5

Durante l'esecuzione di programmi Java, è vantaggioso per monitorare tali programmi e la loro esecuzione esternamente. Si consiglia di collegare uno strumento di monitoraggio di processo del programma per registrare lo stato del programma. Usando il "attach" API fornite nel Java Development Kit (JDK), è possibile collegare un agente di monitoraggio a un'istanza di macchina virtuale in esecuzione, che rappresenta un programma in esecuzione, e monitorare l'attività.

istruzione

1 Creare un oggetto macchina virtuale per connettersi al processo attraverso il suo ID univoco:

importare java.lang.management. *;
import java.io. *;
import java.util. *;
importare javax.management. *;
importare javax.management.remote. *;
importare com.sun.tools.attach. *;

test public class {

Main (string [] args) {public static void

Macchina virtuale vm = VirtualMachine.attach (processid);
}
}

2 Selezionare un programma di agente (di solito un barattolo):

Macchina virtuale vm = VirtualMachine.attach (processid);
String agente = "C: ... agent_name.jar"; // Variabile a seconda del programma agente

3 Fissare l'agente per il processo Virtual Machine per monitorare:

Macchina virtuale vm = VirtualMachine.attach (processid);
String agente = "C: ... agent_name.jar";
vm.loadAgent (agente);