gpt4 book ai didi

java - 使用 Runtime.exec 从 Java 运行进程 - 退出代码 139

转载 作者:太空宇宙 更新时间:2023-11-04 09:33:22 24 4
gpt4 key购买 nike

我想在 Linux 中从 Java 运行 C++ 程序

Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("/home/user/myProgram inputFilePath secondArgument");
int exitVal = pr.waitFor();

如果我从终端运行相同的命令一切正常,问题是当我从 Java 运行它时。我收到退出代码 139。程序已执行,但执行时出现故障。实际上,如果我不输入 inputFilepath,程序执行得很好,我可以通过标准输出捕获有关“缺少输入文件”的消息。

有什么想法吗?

解决方案:经过反复试验,我发现了问题所在。显然,参数末尾需要一个“\n”,我正在运行的 C++ 程序可能将其用作标志。解析参数时肯定存在段错误。

最佳答案

139 是您在 C++ 程序因段错误而崩溃时看到的退出代码。这表明 C++ 程序中存在内存访问错误。参见 Are there any standard exit status codes in Linux? .

或者,程序可能出于自身原因以退出代码 139 退出。在不知道程序是什么的情况下,实际上不可能更具体。

关于java - 使用 Runtime.exec 从 Java 运行进程 - 退出代码 139,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29167723/

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