【问题标题】:Cannot run program "..../abc.exe": error=13, Permission denied无法运行程序“..../abc.exe”:错误=13,权限被拒绝
【发布时间】:2016-05-05 04:47:39
【问题描述】:

我正在尝试执行以下代码:

       try 
        {     
            Runtime rt = Runtime.getRuntime() ;     
            Process p = rt.exec("/Users/abc/xyz.exe") ;     
            InputStream in = (InputStream) p.getInputStream() ;    
            OutputStream out = (OutputStream) p.getOutputStream();     
            InputStream err = (InputStream) p.getErrorStream() ; 
            System.out.println("in "+ in);
            System.out.println("out" + out);
            System.out.println("err" + err);
            //do whatever you want 

            p.destroy() ; 
        } 
        catch(Exception e) 
        {
         /*handle exception*/
            e.printStackTrace();
            throw new Exception("Error " + e.getMessage(), e.getCause());
        }

我收到以下错误:

Cannot run program "/Users/abc/xyz.exe": error=13, Permission denied

我检查了我是否有必要的权限,并通过终端找到了这个:

-rw-r--r--@ 1 username  staff  4016 Nov 22 23:12 /Users/abc/xyz.exe

关于如何使它工作的任何建议?

【问题讨论】:

  • 可能还需要x权限才能执行。

标签: java exec


【解决方案1】:

您需要更改xyz.exe的权限

chmod u+x /Users/abc/xyz.exe

【讨论】:

    【解决方案2】:

    您在该文件中没有执行权限。您需要更改该文件的执行权限。它只包含读取和写入。修改权限请参考here

    【讨论】:

    • 您链接到的资源似乎适用于 Windows,但 OP 似乎位于 U*x-ish 平台上。虽然有些概念是相似的,但 MSND 的说明是相当可怕的。也许试试en.wikipedia.org/wiki/…
    猜你喜欢
    • 1970-01-01
    • 2015-02-07
    • 1970-01-01
    • 1970-01-01
    • 2018-11-01
    • 1970-01-01
    • 2011-03-06
    • 2018-07-19
    • 2017-04-04
    相关资源
    最近更新 更多