我正在尝试执行以下代码:
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
有关如何使其正常工作的任何建议吗?
答案 0 :(得分:20)
您需要更改xyz.exe的权限
chmod u+x /Users/abc/xyz.exe
答案 1 :(得分:1)
您在该文件中没有执行权限。您需要更改该文件的执行权限。它只包含读写。请参考here更改权限