java - Java 中 chmod 命令的权限被拒绝错误

标签 java permissions

我有一个可执行文件 (ffmpeg),我试图在 Mac 上使用 Java 程序运行它。我使用 Java 程序发送命令 chmod 777/path/to/ffmpeg,但是当我尝试运行 ffmpeg 时,出现以下错误:

java.io.IOException: Cannot run program "/Users/james/WalkTheHall/ffmpeg": error=13, Permission denied

但是当我在打开 Java 应用程序之前自己从终端运行 chmod 777/path/to/ffmpeg 时,ffmpeg 命令将在 Java 程序中正常运行。

在 Java 程序中调用 chmod 和我自己调用有区别吗?为什么它不起作用?谢谢!

最佳答案

我刚刚在我的代码中遇到了同样的问题。 我通过在 exec 之后添加 waitFor 解决了这个问题。执行下一个命令时,“chmod”进程未完成。代码可能如下所示:

p = Runtime.getRuntime.exec("chmod 777 xxx");
p.waitFor();
Runtime.getRuntime.exec("./xxx");

关于java - Java 中 chmod 命令的权限被拒绝错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3085897/

相关文章:

oauth - Google App Script - 如何删除授予的 OAuth 权限?

permissions - 启用谷歌电子表格API

java - LinkedBlockingQueue 抛出 InterruptedException

java - Eclipse Tomcat Depolyer 插件报错

java - 查询 Eclipse 插件中的 jar 条目

database - Microsoft Access 2013 字段权限

java - 如何在基于注释的配置文件中将另一个 bean 引用为属性

c# - 如何制作像 Popcorn Time 这样的 GUI?

database - PostgreSQL 9.6数据库上的关联权限被拒绝

php - 上传图片的权限被拒绝