私はすべての助けを求めています.私はJavaを使用しており、アスタリスクでチャネルの詳細を取得するために使用されるコマンドを実行したいと考えています. システムは Linux ベースです。コマンド「core show channels」を実行したいと同時に、チャネルもgrepしたい
以下は、コンソールで正常に起動したときのコマンドと出力です。
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");
}
}
しかし、正しい出力が表示されません pls はこの問題を解決するのを手伝ってくれます