import java.io.*;
public class test
{
public static void main(String[] args)
{
Process pro=null;
Runtime run = Runtime.getRuntime();
try
{
pro = run.exec("cmd /c java -cp F:\\java cin"); //在这里通过jni怎样编写才能获取pro运行的进程的pid }
catch(IOException e)
{}
}
}最好能给出相应的代码
public class test
{
public static void main(String[] args)
{
Process pro=null;
Runtime run = Runtime.getRuntime();
try
{
pro = run.exec("cmd /c java -cp F:\\java cin"); //在这里通过jni怎样编写才能获取pro运行的进程的pid }
catch(IOException e)
{}
}
}最好能给出相应的代码
http://www.blogjava.net/richardeee/archive/2007/02/24/100484.html
再次,获取所有的进程PID很简单,要获取单个指定进程的PID比较麻烦。提供一个方法:Process p=Runtime.exec("tasklist /FO csv /nh /FI \"IMAGENAME eq javaw.exe\"");
或者(因为有可能是javaw.exe,也可能是java.exe):
Process p=Runtime.exec("tasklist /FO csv /nh /FI \"IMAGENAME eq java.exe\"");
InputStream in=pp.getErrorStream();
byte[] data = new byte[in.available()];
in.read(data,0,in.available());
String nn= new String(data);
System.out.println("javaw/java进程信息:\n"+nn);你按以上方法再获取进程的PID,有可能不只一个,所以你要处理。
具体实现自己搞定。
以上方法,仅供参考!
WINDOWS下实现不了 LINUX下可以