从C调用Linux命令不通过java提供任何输出

时间:2013-05-11 03:37:42

标签: java linux

我正在通过C执行我自己定制的linux,如下所示

C代码:

system("service soapserver stop");

这里soapserver是我的linux机器中的二进制文件。相同的命令是从putty成功执行的,但是当我试图获得上面命令的输出时,它从Java中执行。

Java代码:这里soap_systemHelper是另一个访问相应c文件函数并执行上述命令的二进制文件。

Process p = Runtime.getRuntime().exec( "soap_systemHelper 23" );

请让我知道这可能是什么原因,我没有得到任何输出。 我非常感谢你的快速反应。

1 个答案:

答案 0 :(得分:2)

使用p.getOutputStream()从进程的stdout获取OutputStream。然后,您可以使用标准Java io类从该流中读取,如果需要,可以将输出打印到System.out

您还可以使用Process类的方法来获取错误流并退出值。