// ==== 类文件1 JNIJavaHowTo.java ====
import java.io.IOException;
import java.io.PrintStream;
/ 获得当前java程序的pid,并写入到agent.pid文件
//使用方法: String currentProcessId = JNIJavaHowTo.getPID();
public class JNIJavaHowTo {
public JNIJavaHowTo() { }
public static void main(String args[]) {
System.out.println(getPID());
}
public static String getPID() {
JavaHowTo javaHowTo = null;
try {
execute("regsvr32.exe /s ./lib/jni2.dll");
javaHowTo = new JavaHowTo();
} catch(UnsatisfiedLinkError ex) {
ex.printStackTrace();
}
return (new StringBuffer(String.valueOf(javaHowTo.getCurrentProcessId()))).toString();
}
public static String execute(String cmd) {
Runtime run = Runtime.getRuntime();
try {
run.exec(cmd);
} catch(IOException e) {
e.printStackTrace();
}
return null;
}
}
// ==== 类文件2 JavaHowTo.java ====
class JavaHowTo {
JavaHowTo() { }
public native long getCurrentProcessId();
static {
System.loadLibrary("./lib/jni2");
}
}
//jox-1.16.jar 是一个javabean和XML文件转换的包;