我需要大家的帮助。我正在使用 java,我想执行一个命令,该命令用于获取星号中的频道详细信息。该系统是基于linux的。我想同时执行命令“core show channels”也想 grep channels
以下是在控制台中正常触发时的命令和输出。
asterisk -vvvvvrx 'core show channels' | grep channels
并且输出是 2 个活动通道
我正在尝试在java中使用以下代码
import java.io.IOException;
import java.util.*;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class ProcessBuilderExample
{
public static void main(String[] args)
throws IOException, InterruptedException
{
String[] commands = new String[]{"asterisk","-rx","core show channels","| grep 'channels'"};
Process p = Runtime.getRuntime().exec(commands);
p.waitFor();
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
while((line = br.readLine()) != null) {
System.out.println(line);
}
System.out.println("hello");
}
}
但它没有向我显示正确的输出请帮助我解决这个问题