java在windows下如何实现获取进程ID

java在windows下如何实现获取进程ID,第1张

给你个例子,通过调用windows的命令得到当前系统内的进程列表,然后你根据需要自己过滤出想要的进程ID(字符串分析)

try {

Process p = RuntimegetRuntime()exec("cmd /c tasklist");

InputStream is = pgetInputStream();

BufferedInputStream bis = new BufferedInputStream(is);

byte[] buf = new byte[4096];

while(isread(buf)>0){

//我在这里只是简单输出结果,你可以对结果进行你要的处理。

Systemoutprintln(new String(buf));

}

bisclose();

isclose();

} catch (IOException e) {

eprintStackTrace();

} 答案补充 java是运行在其JVM中的,JVM是 *** 作系统的一个进程,和 *** 作系统中的其他进程是一样的

对于你的补充提问,建议你使用java的jni来解决java通过jni可以调用C来完成一些底层的事情

select DISTINCT t  from student t

(

    select max(age),tcid from student t group by ttcid

) t1

where ttcid in (t1tcid)

and tage in(t1age);

select

from

student

where

id=(select

max(id)

from

student)

一般数据库表都有id,最后一行的id一般是表中最大的。

所以你就查出最大id

的一行数据,就是最后一行。

如果查第一行

max(id)

改成

min(id)

就可以了

package test;

import javaioBufferedReader;

import javaioFile;

import javaioFileWriter;

import javaioIOException;

import javaioInputStream;

import javaioInputStreamReader;

import javaioPrintWriter;

public class GetPid {

private static final String PNAME = "QQ";

public static void main(String[] args)

throws IOException {

Systemoutprintln("包含关键字 "+PNAME+" 的进程有:");

Systemoutprintln();

String path = SystemgetProperty("userdir");

final File createFileName = new File(path + "\\mytempscriptvbe");

if(createFileNameexists()createFileNamedelete():createFileNamecreateNewFile()){}

final PrintWriter pw = new PrintWriter(new FileWriter(createFileName,

true), true);

pwprintln("for each ps in getobject(\"winmgmts:\\\\\\root\\cimv2:win32_process\")instances_");

pwprintln("wscriptecho pshandle&vbtab&psname");

pwprintln("next");

pwclose();

final InputStream ii = RuntimegetRuntime()exec(

"cscript " + path + "\\mytempscriptvbe")getInputStream();

final InputStreamReader ir = new InputStreamReader(ii);

final BufferedReader br = new BufferedReader(ir);

String str = null;

String[] ss = null;

while ((str = brreadLine()) != null) {

if (strindexOf(PNAME)>0&&strendsWith("exe")) {

ss = strsplit("\\s");

for(int i=0;i<sslength;i+=2){

Systemoutprintln("");

Systemoutprintln("进程名:"+ss[i+1]+"\n进程ID:"+ss[i]);

}

}

}

Systemoutprintln("");

irclose();

iiclose();

brclose();

}

}

运行结果如下

包含关键字 QQ 的进程有:

进程名:QQexe

进程ID:3956

package cnmarkingbean;

public class Teacher

{

private int id;

private String name = null;

private int score1;

private int score2;

private int score3;

private int score4;

public Teacher(int id, String name, int score1, int score2, int score3,

int score4)

{

super();

thisid = id;

thisname = name;

thisscore1 = score1;

thisscore2 = score2;

thisscore3 = score3;

thisscore4 = score4;

}

public int getId()

{

return id;

}

public void setId(int id)

{

thisid = id;

}

public String getName()

{

return name;

}

public void setName(String name)

{

thisname = name;

}

public int getScore1()

{

return score1;

}

public void setScore1(int score1)

{

thisscore1 = score1;

}

public int getScore2()

{

return score2;

}

public void setScore2(int score2)

{

thisscore2 = score2;

}

public int getScore3()

{

return score3;

}

public void setScore3(int score3)

{

thisscore3 = score3;

}

public int getScore4()

{

return score4;

}

public void setScore4(int score4)

{

thisscore4 = score4;

}

}

以上就是关于java在windows下如何实现获取进程ID全部的内容,包括:java在windows下如何实现获取进程ID、java mysql数据库语句查询每个班级年龄最大的学生名字、Java 数据库查询后显示只有最后一行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9654374.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存