获取java中的windows运行进程描述 导入java.io.BufferedReader; 导入java.io.IOException; 导入java.io.InputStreamReader; 公共班机{ 公共静态void main(字符串[]args){ 试一试{ 弦线; 进程p=Runtime.getRuntime().exec (System.getenv(“windir”)+“\\system32\\”+“tasklist.exe”); BufferedReader输入=新的BufferedReader(新的InputStreamReader( p、 getInputStream()); 而((line=input.readLine())!=null){ System.out.println(line);//
获取java中的windows运行进程描述 导入java.io.BufferedReader; 导入java.io.IOException; 导入java.io.InputStreamReader; 公共班机{ 公共静态void main(字符串[]args){ 试一试{ 弦线; 进程p=Runtime.getRuntime().exec (System.getenv(“windir”)+“\\system32\\”+“tasklist.exe”); BufferedReader输入=新的BufferedReader(新的InputStreamReader( p、 getInputStream()); 而((line=input.readLine())!=null){ System.out.println(line);//,java,cmd,Java,Cmd,tasklist.exe采用可选参数/v进行详细说明。这将输出说明 范例 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) { try {
tasklist.exe
采用可选参数/v
进行详细说明。这将输出说明
范例
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) {
try {
String line;
Process p = Runtime.getRuntime().exec
(System.getenv("windir") +"\\system32\\"+"tasklist.exe");
BufferedReader input = new BufferedReader(new InputStreamReader(
p.getInputStream()));
while ((line = input.readLine()) != null) {
System.out.println(line); // <-- Parse data here.
}
input.close();
} catch (Exception err) {
err.printStackTrace();
}
}
}
您需要更新对exec()的调用以传递“/v”。完整示例,包括解析
taskmgr.exe 5648 Console 1 18,280 K Running 0:00:00 Windows Task Manager
输出
public static void main(String[] args) throws IOException {
String taskListExe = System.getenv("windir") + "\\system32\\" + "tasklist.exe";
Process p = Runtime.getRuntime().exec(new String[] { taskListExe, "/v" });
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
Pattern pattern = Pattern.compile("(.*?)\\s+(\\d+).*(\\d+:\\d+:\\d+)\\s+(.*?)");
String line;
while ((line = input.readLine()) != null) {
Matcher matcher = pattern.matcher(line);
if (matcher.matches()) {
System.out.println(String.format("%s, pid = %s, description = %s", matcher.group(1), matcher.group(2),
matcher.group(4)));
}
}
input.close();
}
tasklist.exe
采用可选参数/v
表示详细信息。这将输出说明
范例
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) {
try {
String line;
Process p = Runtime.getRuntime().exec
(System.getenv("windir") +"\\system32\\"+"tasklist.exe");
BufferedReader input = new BufferedReader(new InputStreamReader(
p.getInputStream()));
while ((line = input.readLine()) != null) {
System.out.println(line); // <-- Parse data here.
}
input.close();
} catch (Exception err) {
err.printStackTrace();
}
}
}
您需要更新对exec()的调用以传递“/v”。完整示例,包括解析
taskmgr.exe 5648 Console 1 18,280 K Running 0:00:00 Windows Task Manager
输出
public static void main(String[] args) throws IOException {
String taskListExe = System.getenv("windir") + "\\system32\\" + "tasklist.exe";
Process p = Runtime.getRuntime().exec(new String[] { taskListExe, "/v" });
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
Pattern pattern = Pattern.compile("(.*?)\\s+(\\d+).*(\\d+:\\d+:\\d+)\\s+(.*?)");
String line;
while ((line = input.readLine()) != null) {
Matcher matcher = pattern.matcher(line);
if (matcher.matches()) {
System.out.println(String.format("%s, pid = %s, description = %s", matcher.group(1), matcher.group(2),
matcher.group(4)));
}
}
input.close();
}
您的程序输出窗口标题,但我需要说明…请查看任务管理器有一个名为“说明”的列,其中显示了确切的文件名…@ShakibAhmed抱歉,我误解了标题和说明之间的区别。您的程序输出窗口标题,但我需要说明…请查看任务管理器呃,有一个名为description的专栏,里面显示了确切的文件名…@ShakibAhmed抱歉,我误解了标题和描述之间的区别。