gpt4 book ai didi

java - 无法在 Java 中启动任何进程(ProcessBuilder 进程立即返回,退出代码为 128)

转载 作者:行者123 更新时间:2023-11-30 11:53:51 25 4
gpt4 key购买 nike

我试图让 Java 执行另一个程序,但它一直立即出错,退出代码为 128,并且没有任何内容发送到 stdout 或 stderr。我尝试了一个简单的“java -version”仍然没有运气。当我在 cmd 窗口中运行它时,它运行良好并且此代码适用于类似配置的其他机器(Windows Server 2003 x64,Java 1.6 更新 25)

在命令行运行时:

C:\Documents and Settings\zugwalt>java -version

输出:

java version "1.6.0_25" Java(TM) SE
Runtime Environment (build1.6.0_25-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.0-b11, mixed mode)

然后我试试这段代码:

try {
List<String> cmd = new LinkedList<String>();
cmd.add("java");
cmd.add("-version");
ProcessBuilder apb = new ProcessBuilder(cmd);
apb.redirectErrorStream(true);
System.out.println("STARTING w00t!");
Process p = apb.start();

BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = null;
while ((line = input.readLine()) != null) {
System.out.println("OUTPUT: "+line);
}
System.out.println("EXIT: "+p.exitValue());
System.out.println("WAIT FOR: "+p.waitFor());
} catch (Exception ex) {
System.out.println("CAUGHT: "+ex.getMessage());
ex.printStackTrace();
}

输出是:

STARTING w00t!  
EXIT: 128
WAIT FOR: 128

最佳答案

所以我们通过杀死大量系统进程来“解决”这个问题。我们认为该问题与此处描述的问题密切相关:http://www.arcanadev.com/support/kb/K00000329.aspx ,进程试图调用 java 的 exec 可用堆空间或内存不足。很奇怪。

关于java - 无法在 Java 中启动任何进程(ProcessBuilder 进程立即返回,退出代码为 128),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6037336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com