Proceso Java con flujo de entrada / salida

Tengo el siguiente ejemplo de código a continuación. Por el cual puede ingresar un comando al bash shell, es decirecho test y que el resultado se repita. Sin embargo, después de la primera lectura. ¿Otras secuencias de salida no funcionan?

¿Por qué es esto o estoy haciendo algo mal? Mi objetivo final es crear una tarea programada de subprocesos que ejecute un comando periódicamente a / bash para que elOutputStream yInputStream tendría que trabajar en conjunto y no dejar de funcionar. También he estado experimentando el errorjava.io.IOException: Broken pipe ¿algunas ideas?

Gracias.

String line;
Scanner scan = new Scanner(System.in);

Process process = Runtime.getRuntime ().exec ("/bin/bash");
OutputStream stdin = process.getOutputStream ();
InputStream stderr = process.getErrorStream ();
InputStream stdout = process.getInputStream ();

BufferedReader reader = new BufferedReader (new InputStreamReader(stdout));
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(stdin));

String input = scan.nextLine();
input += "\n";
writer.write(input);
writer.flush();

input = scan.nextLine();
input += "\n";
writer.write(input);
writer.flush();

while ((line = reader.readLine ()) != null) {
System.out.println ("Stdout: " + line);
}

input = scan.nextLine();
input += "\n";
writer.write(input);
writer.close();

while ((line = reader.readLine ()) != null) {
System.out.println ("Stdout: " + line);
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta