我希望能够做这样的事情:有没有办法使用java获取/挂钩/附加已经运行的进程?
Process p = getRunningProcess(pid)
如果有一种方法,它的问题的过程中是如何创建的(使用Java,使用python,起壳等)?
我希望能够做这样的事情:有没有办法使用java获取/挂钩/附加已经运行的进程?
Process p = getRunningProcess(pid)
如果有一种方法,它的问题的过程中是如何创建的(使用Java,使用python,起壳等)?
可以从Java应用程序附加到另一个JVM进程(例如能够to monitor what's going on and potentially detect problems before they happen
)。您可以通过使用Attach API来完成此操作。不太了解附加到非JVM进程。
String name = ...
List vms = VirtualMachine.list();
for (VirtualMachineDescriptor vmd: vms) {
if (vmd.displayName().equals(name)) {
VirtualMachine vm = VirtualMachine.attach(vmd.id());
String agent = ...
vm.loadAgent(agent);
// ...
}
}
参见相关:http://stackoverflow.com/q/3991819/435605 –