【发布时间】:2015-08-21 20:59:27
【问题描述】:
我有一个 java 函数,它应该获取进程的 PID,它可以在 Windows 上运行
public static String executeJps() throws IOException {
Process p = Runtime.getRuntime().exec("jps -l");
String line = null;
BufferedReader in = new BufferedReader(new InputStreamReader(
p.getInputStream(), "UTF-8"));
String pid = null;
while ((line = in.readLine()) != null) {
String [] javaProcess = line.split(" ");
if (javaProcess.length > 1 && javaProcess[1].contains("DEDServer")) {
pid = javaProcess[0];
}
}
return pid;
}
相同的功能能否在 Mac 和 Linux 操作系统以及基本上所有操作系统上成功获取 PID?或者还有其他需要做的事情来做另一个功能吗?
我除了 Windows 操作系统之外什么都没有,所以如果您能够发布一些新代码,请验证一下吗?
谢谢!
【问题讨论】:
-
答案和问题一样:
jps -l这个命令在其他平台上是否存在,和windows上一样吗? -
jps 是 JDK 的一部分吗?所有生产机器上都会有JDK吗?
-
JDK 将在所有机器上是的。 @Jayan
-
在有人能够测试之前我无法找到它...@A4L
-
您的标题应该是:Getting PID of java Windows、OSX 和 Linux 上的进程。我假设
DEDServer是一个java 主类。
标签: java linux windows macos pid