「java命令获取进程号」java获取进程名称
本篇文章给大家谈谈java命令获取进程号,以及java获取进程名称对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Java如何得到当前进程ID号
- 2、java怎样获取进程列表
- 3、如何查看Java进程并获取进程ID
- 4、java 获取指定的进程id
- 5、java在windows下如何实现获取进程ID
- 6、java获取进程名称
Java如何得到当前进程ID号
进程号也就是UNIX类OS中的,Process ID
可是Process ID的概念只有在UNIX类的操作系统中才有,Java作为一种多平台的程序语言,在JDK的接口中并不提供“进程ID”(Process ID)这种OS独有的概念。
如果要结束程序,可以使用System.exit()
如果非要得到自己的Process ID,唯一的方法就是在shell取得Process ID,然后Java在通过某种方式取得相应的Process ID。
java怎样获取进程列表
java是无法完成此类与系统相关的操作的
楼主如果实在需要这样做,建议如下
用vc或vb编写获得windows当前的进程列表及其路径,内存大小的程序
然后在java中用runtime.execute执行这个exe
捕捉此exe的输出流
如何查看Java进程并获取进程ID
用top -u 命令查看进程以及PID。 命令如下: $ top -u PID — 进程idUSER — 进程所有者PR —
java 获取指定的进程id
package test;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
public class GetPid {
private static final String PNAME = "QQ";
public static void main(String[] args)
throws IOException {
System.out.println("包含关键字 "+PNAME+" 的进程有:");
System.out.println();
String path = System.getProperty("user.dir");
final File createFileName = new File(path + "\\mytempscript.vbe");
if(createFileName.exists()?createFileName.delete():createFileName.createNewFile()){}
final PrintWriter pw = new PrintWriter(new FileWriter(createFileName,
true), true);
pw.println("for each ps in getobject(\"winmgmts:\\\\.\\root\\cimv2:win32_process\").instances_");
pw.println("wscript.echo ps.handlevbtabps.name");
pw.println("next");
pw.close();
final InputStream ii = Runtime.getRuntime().exec(
"cscript " + path + "\\mytempscript.vbe").getInputStream();
final InputStreamReader ir = new InputStreamReader(ii);
final BufferedReader br = new BufferedReader(ir);
String str = null;
String[] ss = null;
while ((str = br.readLine()) != null) {
if (str.indexOf(PNAME)0str.endsWith(".exe")) {
ss = str.split("\\s");
for(int i=0;iss.length;i+=2){
System.out.println("****************************");
System.out.println("进程名:"+ss[i+1]+"\n进程ID:"+ss[i]);
}
}
}
System.out.println("****************************");
ir.close();
ii.close();
br.close();
}
}
运行结果如下
包含关键字 QQ 的进程有:
****************************
进程名:QQ.exe
进程ID:3956
****************************
java在windows下如何实现获取进程ID
给你个例子,通过调用windows的命令得到当前系统内的进程列表,然后你根据需要自己过滤出想要的进程ID(字符串分析).
try {
Process p = Runtime.getRuntime().exec("cmd /c tasklist");
InputStream is = p.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
byte[] buf = new byte[4096];
while(is.read(buf)0){
//我在这里只是简单输出结果,你可以对结果进行你要的处理。
System.out.println(new String(buf));
}
bis.close();
is.close();
} catch (IOException e) {
e.printStackTrace();
} 答案补充 java是运行在其JVM中的,JVM是操作系统的一个进程,和操作系统中的其他进程是一样的.
对于你的补充提问,建议你使用java的jni来解决.java通过jni可以调用C来完成一些底层的事情.
java获取进程名称
代码:
package com.test;
import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
public class Target {
public static void main(String[] args) throws InterruptedException { System.out.println(getProcessID());
while(true) {
Thread.sleep(10000);
}
}
public static final int getProcessID() {
RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean();
System.out.println(runtimeMXBean.getName());
return Integer.valueOf(runtimeMXBean.getName().split("@")[0]) .intValue();
}
}
运行结果:2896@PC-20150603VRPL2896
当前进程ID为2896。
ManagementFactory是一个在运行时管理和监控Java VM的工厂类,它能提供很多管理VM的静态接口,比如RuntimeMXBean;
RuntimeMXBean是Java虚拟机的运行时管理接口.
关于java命令获取进程号和java获取进程名称的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-24,除非注明,否则均为
原创文章,转载请注明出处。