我采用了其中一个类似问题的代码:
Process p = null;
ProcessBuilder pb = new ProcessBuilder("scr.sh");
pb.directory(new File("/Users/alex/"));
p = pb.start();
Thread.sleep(TimeConst.SECOND);
从public static main()
运行此代码,我确实将scr.sh
文件放在alex
文件夹下,但收到例外:Caused by: java.io.IOException: error=2, No such file or directory
我的代码出了什么问题?
答案 0 :(得分:0)
我删除了指定工作目录的行,并用绝对路径替换文件名,然后就可以了。
为了收到echo
消息,我必须从我的stdin(?)中读取:
final Scanner in = new Scanner(p.getInputStream());
new Thread(() -> {
while (in.hasNextLine())
System.out.println(in.nextLine());
}).start();