0
所以我在linux mint上寫了一個程序,在其中我將gcc從我的jar複製到一個臨時文件夾 /tmp/some_number /。我可以像這個/ tmp/some_number/gcc這樣的終端啓動gcc。 問題是我不能用ProcessBuilder做同樣的事情。ProcessBuilder的問題(java)
我寫:
try {
ProcessBuilder pb = new ProcessBuilder("tmp/some_number/gcc")
pb.directory(new File("tmp/some_number/"));
Process p = pb.start() <--- here comes the error
int retval = p.waitFor();
p.destroy();
} catch (Exception e) {e.printStackTrace();}
它總是拋出的錯誤:
java.io.Exception: Cannot run program "/tmp/some_number/gcc" (in directory "/tmp/some_number"): error=13, Keine Berechtigung (means no permission)
many @s
Caused by: java.io.IOException: error=13, Keine Berechtigung
more @s
在另一方面,我可以創建在/ tmp/some_number一個新的文件/寫文件中的文本。
那麼爲什麼ProcessBuilder不能啓動我的文件?
庫:https://github.com/Xeroth95/MyEditor(其文件MyLinker)
gcc可執行文件是否爲您正在運行的用戶? – Todd
閱讀錯誤,您沒有執行權限。嘗試'新的文件(「tmp/some_number/gcc」)。setExecutable(true)'。 –
非常感謝你! – user2855916