用Java写一个获取系统所有进程的代码
时间: 2024-05-12 15:16:51 浏览: 13
好的,以下是用Java获取系统所有进程的代码:
```
import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
import java.util.List;
public class ProcessList {
public static void main(String[] args) {
RuntimeMXBean runtimeBean = ManagementFactory.getRuntimeMXBean();
//获取运行时进程列表
List<String> jvmArgList = runtimeBean.getInputArguments();
System.out.println("JVM的启动参数列表:");
for(String arg : jvmArgList){
System.out.println(arg);
}
int pid = Integer.parseInt(runtimeBean.getName().split("@")[0]);
System.out.println("当前Java进程的PID: " + pid);
//获取系统所有进程
try {
Process proc = Runtime.getRuntime().exec("ps -ef");
java.io.InputStream input = proc.getInputStream();
java.util.Scanner scan = new java.util.Scanner(input);
while(scan.hasNext()){
System.out.println(scan.nextLine());
}
scan.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
这段代码使用了Java的ManagementFactory和RuntimeMXBean类来获取Java进程的启动参数和PID,然后通过执行命令“ps -ef”来获取系统所有进程。希望对你有所帮助。