是。jps是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用。用于进行PID控制的PID运算程序,当驱动条件成立时,每当到达采样时间的PID指令在其后扫描时进行PID运算。
我们提供的服务有:网站建设、成都网站设计、微信公众号开发、网站优化、网站认证、泰山ssl等。为成百上千企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的泰山网站制作公司
Runtime.getRuntime()可以获取java运行时的所有信息;java中有Process类,但是Process是用来处理子进程的。
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
class StreamDrainer implements Runnable {
private InputStream ins;
public StreamDrainer(InputStream ins) {
this.ins = ins;
}
public void run() {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
ins));
String line = null;
while ((line = reader.readLine()) != null) {
//这判断你的进程
if(line.indexOf("QQ.exe")!=-1){
System.out.println("有QQ");
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
public class TestRunCmd {
public static void main(String[] args) {
String[] cmd = new String[] { "cmd.exe", "/C", "wmic process get name" };
try {
Process process = Runtime.getRuntime().exec(cmd);
new Thread(new StreamDrainer(process.getInputStream())).start();
new Thread(new StreamDrainer(process.getErrorStream())).start();
process.getOutputStream().close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
试试这样,我用的线程来做,你改run方法里面的进程名就好了
public class JNIJavaHowTo {
public static void main(String[] args) {
JavaHowTo jht = new JavaHowTo();
System.out.println("Press Any key...");
java.io.BufferedReader input =
new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
try { input.readLine();}
catch (Exception e) { e.printStackTrace();}
System.out.println(jht.getCurrentProcessId());
}
}