gpt4 book ai didi

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

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

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

C 代码:

system("service soapserver stop");

此处 soapserver 是我的 linux 机器中的二进制文件。当我试图获取上述命令的输出时,相同的命令从 putty 成功执行,但从 Java 执行,它没有显示。

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

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

请让我知道我没有得到任何输出的可能原因是什么。非常感谢您的快速回复。

最佳答案

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

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

关于java - 从 C 调用 Linux 命令没有通过 java 提供任何输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16493485/

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