检查正在运行的进程 - Java

bluesky1年前 ⋅ 93 阅读

ChatGPT的回答仅作参考:

要检查正在运行的进程,可以使用Java的`ProcessBuilder`类和`Process`类。

首先,使用`ProcessBuilder`类创建一个进程构建器,并指定要运行的命令。例如,要运行`tasklist`命令来列出所有正在运行的进程,可以使用以下代码:

```java
ProcessBuilder processBuilder = new ProcessBuilder("tasklist");
```

然后,使用进程构建器的`start()`方法启动进程,并获取对该进程的引用。例如:

```java
Process process = processBuilder.start();
```

接下来,可以使用`Process`类的方法来读取进程的输出。例如,可以使用`getInputStream()`方法获取进程的标准输出流,并使用`BufferedReader`类读取输出。以下是一个示例代码:

```java
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
    System.out.println(line);
}
```

最后,使用`waitFor()`方法等待进程执行完成,并获取进程的退出值。例如:

```java
int exitValue = process.waitFor();
System.out.println("Exit Value: " + exitValue);
```

完整的示例代码如下:

```java
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class ProcessExample {
    public static void main(String[] args) {
        try {
            ProcessBuilder processBuilder = new ProcessBuilder("tasklist");
            Process process = processBuilder.start();

            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }

            int exitValue = process.waitFor();
            System.out.println("Exit Value: " + exitValue);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
```

运行以上代码将列出所有正在运行的进程,并打印出每个进程的详细信息。

全部评论: 0

    相关推荐