【发布时间】:2011-03-06 09:08:03
【问题描述】:
我有一个可执行文件 (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 和我自己调用它有区别吗?为什么它不起作用?谢谢!
【问题讨论】:
-
也许你正在运行 java 可执行文件的用户没有 chmod 文件的权限
-
详细信息...我不知道在 Mac 上,但在 GNU/Linux 上作为普通用户你不能这样做
chmod 777(某些权限被“屏蔽”),所以当你从终端尝试你确实是那种可以做这样的事情的用户,而你作为一个不能做的用户运行java? (java vm 也有可能在以“超级”用户身份运行时放弃特权,只是为了增强安全性)
标签: java permissions