Java – Cannot run program “…./abc.exe”: error=13, Permission denied


I am trying to execute the following code:

            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*/
            throw new Exception("Error " + e.getMessage(), e.getCause());

and I am getting the following error :

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

I checked if I have the necessary permissions and found this via terminal:

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

Any suggestions on how to get this working?

Best Solution

You need to change permission of xyz.exe

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