我有一个可执行文件 (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/