繁体   English   中英

无法使用ProcessBuilder运行Shell脚本

[英]Can't run shell script with ProcessBuilder

我采用了类似问题之一中的代码:

    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

我的代码有什么问题?

我删除了指定工作目录的行,并将文件名替换为绝对路径,然后行了。

为了接收echo消息,我必须从标准输入(?)中读取:

final Scanner in = new Scanner(p.getInputStream());
        new Thread(() -> {
            while (in.hasNextLine())
                System.out.println(in.nextLine());
        }).start();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM