Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java运行带有选项的c程序_Java_Process_Runtime.exec - Fatal编程技术网

Java运行带有选项的c程序

Java运行带有选项的c程序,java,process,runtime.exec,Java,Process,Runtime.exec,我有以下代码: 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 exitV

我有以下代码:

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选项


有什么问题?我写得不对吗?

每个参数都应该是一个单独的字符串,而不是全部放在一个空格分隔的字符串中

见:

ProcessBuilder pb=newprocessbuilder(“myCommand”、“myArg1”、“myArg2”)


-f
和文件路径几乎肯定应该是单独的参数。您是否尝试单独运行应用程序?它返回什么错误?尝试使用
getInputStream()
getErrorStream()
.processp=newProcessBuilder(“/Applications/TorBrowser\u en-US.app/Contents/MacOS//tor”、“-f”、“/Applications/TorBrowser\u en-US.app/Library/filetctor/torr”).start()获取它;WORKS@MarcoMicheli伟大的单击左侧的复选标记,即可接受此答案。