Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.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
ProcessBuilder(java)的问题_Java_Linux_Ioexception_Processbuilder - Fatal编程技术网

ProcessBuilder(java)的问题

ProcessBuilder(java)的问题,java,linux,ioexception,processbuilder,Java,Linux,Ioexception,Processbuilder,因此,我在LinuxMint上编写了一个程序,其中我将gcc从jar复制到一个临时文件夹中 /tmp/some_number/。我可以用如下/tmp/some_number/gcc这样的终端启动gcc。 问题是我不能用ProcessBuilder做同样的事情 我写道: try { ProcessBuilder pb = new ProcessBuilder("tmp/some_number/gcc") pb.directory(new File("tmp/some_num

因此,我在LinuxMint上编写了一个程序,其中我将gcc从jar复制到一个临时文件夹中 /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();}  
另一方面,我可以在/tmp/some_number/中创建一个新文件,并在该文件中写入文本

那么为什么ProcessBuilder不能启动我的文件呢


repository:(它是MyLinker文件)

代码中的路径似乎是相对的,因为它没有前导“/”

tmp/some_number/gcc
您正在将文件写入/tmp,但正在尝试从中读取它

<present working directory>/tmp
/tmp

您运行的用户是否可以执行gcc?请阅读错误,您没有执行权限。尝试
新文件(“tmp/some\u number/gcc”)。设置可执行文件(true)
<present working directory>/tmp