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
按快捷键“win+R”,输入cmd后按回车进入DOS环境:
输入tasklist回车
taskkill可以根据进程名直接杀掉的 例如杀掉记事本进程 taskkill /f /im notepadexe
BAT脚本获取当前cmdexe进程PID/PPID/信息(自杀脚本)
版本 2
子程序 取进程名, 文本型, 公开, 通进进程ID取得该进程文件名
参数 进程ID, 整数型
局部变量 模块信息, 模块信息型
局部变量 文件名, 文本型
快照句柄 = _创建快照 (8, 进程ID)
如果真 (快照句柄 = -1)
返回 (“”)
如果真结束
模块信息size = 1024
_第一个模块 (快照句柄, 模块信息)
文件名 = 到文本 (模块信息模块文件名)
_关闭对象 (快照句柄)
返回 (文件名)
首先tasklist确认一下name到底是everythingexe 还是everythingx64exe等等
其次在命令行执行for括号里的内容看看command路径里是否有空格
如果存在以上问题肯定取不到porcessid和commandline
以上就是关于java 获取指定的进程id全部的内容,包括:java 获取指定的进程id、如何在脚本中获取进程ID、易语言进程id取进程名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)