如何用ProcessBuilder设置工作目录
我正在尝试在Ubuntu的主目录中启动一个进程。 我得到一个数组越界的exception。 这里是代码:
Process p = null; ProcessBuilder pb = new ProcessBuilder(); pb.directory(new File("/home")); p = pb.start();
这是一个例外:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at java.lang.ProcessBuilder.start(ProcessBuilder.java:459) at tester.Main.main(Main.java:31) Java Result: 1
你正试图执行/ home,它不是一个可执行文件。 进程生成器的构造函数参数是要执行的命令。
你想设置工作目录。 你可以通过目录方法。
这是一个完整的例子:
Process p = null; ProcessBuilder pb = new ProcessBuilder("do_foo.sh"); pb.directory("/home"); p = pb.start();