如何使用ProcessBuild设置工作目录

2024-04-28 09:04:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在ubuntu的主目录中尝试启动一个进程。我得到一个数组越界异常。代码如下:

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

Tags: 代码langnew进程mainubuntu数组java
1条回答
网友
1楼 · 发布于 2024-04-28 09:04:48

您正在尝试执行/home,但它不是可执行文件。process builder的constructor参数是要执行的命令。

要设置工作目录。您可以通过directory方法实现。

下面是一个完整的示例:

Process p = null;
ProcessBuilder pb = new ProcessBuilder("do_foo.sh");
pb.directory(new File("/home"));
p = pb.start();

相关问题 更多 >