簡體   English   中英

ProcessBuilder的問題(java)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM