[英]Problems with ProcessBuilder (java)
因此,我在linux mint上編寫了一個程序,在其中我將jar中的gcc復制到了一個臨時文件夾/ tmp / some_number /中。 我可以使用/ tmp / some_number / gcc這樣的終端啟動gcc。 問題是我無法使用ProcessBuilder進行相同操作。
我寫:
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)
似乎代碼內的路徑是相對的,因為它沒有前導“ /”
tmp/some_number/gcc
您正在將文件寫入/ tmp,但嘗試從中讀取文件
<present working directory>/tmp
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.