【发布时间】:2020-07-06 15:39:14
【问题描述】:
我尝试从 jar 文件 运行 linux 命令,但我总是收到此错误:
java.io.IOException:无法运行程序“ls”:错误=13,权限被拒绝。
这是我的代码:
String s;
Process p;
String cmd= "ls";
try {
Runtime run = Runtime.getRuntime();
p = run.exec(cmd);
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((s = br.readLine()) != null){
System.out.println("line: " + s);
}
p.waitFor();
System.out.println ("exit: " + p.exitValue());
p.destroy();
} catch (Exception e) {
System.out.println(e);
}
感谢您的宝贵时间。
更新: 对我来说,我的解决方案是:我必须重新安装我的操作系统和 JDK,现在一切正常。
【问题讨论】:
-
听起来你有一个名为
ls的文件,它不是一个可执行程序。尝试将命令更改为"/bin/ls" -
同样的错误:java.io.IOException: Cannot run program "/bin/ls": error=13, Permission denied
-
试试
String cmd= "ls -l"; -
java.io.IOException:无法运行程序“ls”:错误=13,权限被拒绝
-
从 jar 所在的文件夹运行终端。授予所有权限(读取、写入和执行)->
chmod -R 777 /folder。然后执行jar