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伟大的单击左侧的复选标记,即可接受此答案。