如何在Mac中运行终端命令并通过java打印输出

如何在Mac中运行终端命令并通过java打印输出,java,ios,macos,udid,Java,Ios,Macos,Udid,我在下面的代码中尝试获取ran命令的输出。但它是空的 String cmd = "/bin/bash device_id -l"; Process process = Runtime.getRuntime.exec(cmd); BufferedReader reader = new BufferedReader( new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLin

我在下面的代码中尝试获取ran命令的输出。但它是空的

String cmd = "/bin/bash device_id -l";
Process process = Runtime.getRuntime.exec(cmd);
BufferedReader reader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
    System.out.println(line);
}
reader.close();

谁能帮帮我吗。我必须获得连接的设备UDID。

使用以下代码,我可以获得连接的设备UDID

public String deviceUDID() throws IOException{
        ProcessBuilder builder = new ProcessBuilder("/bin/bash", "-c", "/usr/local/bin/idevice_id -l");
        builder.redirectErrorStream(true);
        Process p = builder.start();
        BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
        String line;
        line = r.readLine();
        System.out.println(line);
        return line;
    }

请尝试
String cmd=“device\u id-l”
在Mac@jcimi中不起作用,我不知道你的命令做什么,但我尝试了
String cmd=“ps-ef”并在标准输出中获得输出。也许你的命令是用stderr写的?