java - 来自 Java 的 Runtime.getRuntime.exec 139 (SIGSEGV) 用于 C 程序
问题描述
我正在创建一个 Java 程序来运行 C 可执行文件,使用 Runtime.getRuntime.exec(String command) 方法,但有时它返回 exitValue=139(SIGSEGV) 即使当我从终端或 Eclipse 运行 C 程序时它们工作正常。
可能是什么问题呢?
Process pro = Runtime.getRuntime().exec("./cExecutable 10");
System.out.println(command + " exitValue=" + pro.exitValue());
如果它有用,我使用的是 Ubuntu 18.04。
重要的是,我还注意到,当可执行输出超过 600 行时,它最常发生。
事实上我的程序的输出非常大
解决方案
推荐阅读
- game-physics - Godot中2D物理的测量单位(单位比例)?
- here-api - 获取或计算整个城市(尤其是莫斯科)的拥堵系数
- sql - 触发器从另一个表中删除行
- gmail-api - 如何让我的 php 应用程序从不要求 Gmail API 验证码?
- amazon-web-services - 除非我允许 NACL 出站中的所有 TCP 连接,否则无法连接到 EC2
- kotlin - 为什么 Kotlin 使用内部而不是包?
- rmi - RMI 通过引用调用而不实现 Serializable
- ruby-on-rails - 是否可以通过 pdf-reader 读取 rubyzip 中的 pdf 文件?
- python - tshark 提供的原始数据是否完整?
- c++ - 如何在编译时从 string_view 中删除子字符串?