我在下面有以下代码示例.因此,您可以向bash shell输入命令,即将echo test
结果回显.但是,在第一次阅读之后.其他输出流不起作用?
为什么这样或者我做错了什么?我的最终目标是创建一个线程调度任务来定期执行的命令/ bash的,因此OutputStream
,并InputStream
会在协同工作并没有停止工作.我也遇到过java.io.IOException: Broken pipe
任何想法的错误?
谢谢.
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 ()) != …
Run Code Online (Sandbox Code Playgroud)