【发布时间】:2014-12-11 05:41:20
【问题描述】:
您好,在此先感谢您, 我有以下问题:我有一个 GUI 和一个按钮,我需要在同一台机器上启动一个 c++ 程序。该程序使用称为 SSM(类似 ROS)的特定框架来共享数据。 从终端启动程序本身运行良好,但是当我使用 java process builder 启动它时,我无法访问任何数据,但我仍然可以看到进程正在运行。
我使用的是 Ubuntu 14.04 和 OpenJDK7。我正在使用的代码如下(根据评论更新):
ProcessBuilder builder = new ProcessBuilder(command);
builder.redirectOutput(Redirect.INHERIT);
builder.redirectError(Redirect.INHERIT);
builder.start();
其中命令来自我通过 UDP 接收的一些数据:
command[0] = Main_gui.getHomePath()+"PFforAEV_autoCalib_20140418/PFforAEV0.2.2";
command[1] = String.valueOf(initialPosition[0]);
command[2] = String.valueOf(initialPosition[1]);
command[3] = String.valueOf(initialPosition[2]);
command[4] = "walllandmark_F41_20130125";
更具体地说,进程 PFforAEV0.2.2 在那里,正在运行,但它似乎不使用任何 CPU 或内存。我无法通过框架访问数据。看起来如果它只是挂起。
如果您需要更多详细信息,请询问。
有人可以帮助我吗? 谢谢。
【问题讨论】:
-
我从@rafalopez79 尝试了以下解决方案。
标签: java ubuntu terminal processbuilder