Java获取CMD执行Java程序的PID

在Java程序中,有时候需要获取CMD执行Java程序的PID。PID(Process Identifier)是操作系统分配给每个正在运行的进程的唯一标识符。通过获取进程的PID,我们可以进行一些进程管理的操作,例如监控进程的状态、终止进程等。本文将介绍如何使用Java代码获取CMD执行Java程序的PID,并提供相应的代码示例。

1. 前提条件

在开始编写Java代码之前,我们需要确保计算机上已经安装了Java开发环境(JDK)。

2. 获取CMD执行Java程序的PID

要获取CMD执行Java程序的PID,我们可以通过执行操作系统命令来实现。在Windows操作系统下,可以使用"tasklist"命令获取所有正在运行的进程的信息,并找到我们想要的Java进程的PID。在Linux操作系统下,可以使用"ps"命令获取进程的信息。

下面是使用Java代码获取CMD执行Java程序的PID的示例:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class GetPidExample {

    public static void main(String[] args) {
        String os = System.getProperty("os.name").toLowerCase();

        Process process;
        try {
            if (os.contains("win")) {
                process = Runtime.getRuntime().exec("tasklist");
            } else {
                process = Runtime.getRuntime().exec("ps -ef");
            }

            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line;
            while ((line = reader.readLine()) != null) {
                if (line.contains("java")) {
                    String[] parts = line.trim().split("\\s+");
                    String pid = parts[1];
                    System.out.println("Java PID: " + pid);
                }
            }

            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上述代码中,我们首先使用System.getProperty("os.name")方法获取操作系统的名称。然后,根据操作系统的不同,使用不同的命令来创建一个进程对象。接着,我们通过读取进程的输出流,逐行查找包含"java"关键字的行,并提取出PID。最后,输出Java程序的PID。

3. 示例运行和效果

我们可以将上述代码保存为GetPidExample.java文件,并在CMD中使用以下命令进行编译和运行:

javac GetPidExample.java
java GetPidExample

示例运行的效果如下:

Java PID: 1234
Java PID: 5678

上述结果表示有两个Java进程在运行,并显示了它们的PID。

4. 总结

本文介绍了如何使用Java代码获取CMD执行Java程序的PID。通过执行操作系统命令,我们可以获取进程的信息,并找到我们想要的Java进程的PID。上述示例代码可以帮助我们实现这一功能。希望本文对你有所帮助!


目录
1. 前提条件
2. 获取CMD执行Java程序的PID
3. 示例运行和效果
4. 总结

旅行图

journey
    title Java获取CMD执行Java程序的PID
    section 前提条件
    section 获取PID
    section 示例运行和效果
    section 总结

参考资料:

  • [How to get PID of process I've just started within java program?](
  • [Get PID of running process from Java application](