Obtención de resultados al ejecutar un comando de terminal en un código java que se ejecuta dentro de la plataforma Cubieboard

El código que estoy usando para ejecutar un comando de terminal en Linux Debian y obtener el resultado dentro de un programa Java es este:

public static String execute(String command) {
    StringBuilder sb = new StringBuilder();
    String[] commands = new String[]{"/bin/sh", "-c", command};
    try {
        Process proc = new ProcessBuilder(commands).start();
        BufferedReader stdInput = new BufferedReader(new
                InputStreamReader(proc.getInputStream()));

        BufferedReader stdError = new BufferedReader(new
                InputStreamReader(proc.getErrorStream()));

        String s = null;
        while ((s = stdInput.readLine()) != null) {
            sb.append(s);
            sb.append("\n");
        }

        while ((s = stdError.readLine()) != null) {
            sb.append(s);
            sb.append("\n");
        }
    } catch (IOException e) {
        return e.getMessage();
    }
    return sb.toString();
}

Ahora el problema es que funciona para comandos normales comols / Y devuelve el resultado adecuado. Pero mi objetivo es ejecutar comandos como:

echo 23 > /sys/class/gpio/export

que es, por ejemplo, para activar el pin gpio en la plataforma CubieBoard. (Cubieboard es una mini-pc board como Raspberry Pi).

Ahora ejecutando este comando en el terminal del sistema, funciona bien y me da el resultado adecuado. Pero cuando lo estoy ejecutando desde este código Java, no puedo obtener ningún resultado.

El punto es que funciona y el comando se ejecuta bien, ¡pero no puedo obtener el mensaje de salida del comando!

Por ejemplo, si el pin estaba activo desde el pasado, normalmente debería devolverme el resultado como:

bash: echo: write error: Device or resource busy

Pero cuando ejecuto este comando a través del código java de arriba, no obtengo ninguna respuesta. (De nuevo, tiene efecto, ¡pero no puedo obtener la respuesta del terminal!)

Cuando ejecuto el código, ambosstdInput ystdError Las variables en el código tienen el valor.null. :(

Por favor ayúdame para que pueda terminar mi proyecto. Esta es la única parte que queda :(

Gracias.

Respuestas a la pregunta(2)

Su respuesta a la pregunta