我有这段代码:
try {
Process p = new ProcessBuilder(
"/Applications/TorBrowser_en-US.app/Contents/MacOS/./tor",
"-f /Applications/TorBrowser_en-US.app/Library/filetctor/torrc")
.start();
p.waitFor();
int exitVal = p.exitValue();
System.out.println("Process exitValue: " + exitVal);
} catch (IOException e) {
System.out.println(e);
} catch (InterruptedException e) {
System.out.println(e);
}
每次执行它时,我得到一个255 exitValue。该过程无法正常运行。
如果我只运行程序:
Process p = new ProcessBuilder("/Applications/TorBrowser_en-US.app/Contents/MacOS/./tor").start();
该过程正确运行。但我需要使用-f选项。
有什么问题?我写错了吗?
答案 0 :(得分:3)
每个参数应该是一个单独的字符串,而不是全部在一个以空格分隔的字符串中。
请参阅the example in the documentation:
ProcessBuilder pb = new ProcessBuilder("myCommand", "myArg1", "myArg2");