Не удается запустить сценарий оболочки с ProcessBuilder - PullRequest
0 голосов
/ 24 мая 2018

Я принял код из одного из подобных вопросов:

    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

Что не так с моим кодом?

1 Ответ

0 голосов
/ 24 мая 2018

Я удалил строку, в которой указан рабочий каталог, и заменил имя файла на абсолютный путь, а затем он заработал.

Чтобы получать echo сообщения, которые мне приходилось читать из моего стандартного ввода (?):

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