我有一个可执行文件(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
命令后,在Java程序中对ffmpeg的命令就可以正常运行。
在Java程序内调用 chmod
和自己手动调用有区别吗?为什么它不起作用?谢谢!
chmod 777
(某些权限被“掩盖”),因此当您尝试从终端运行时,您确实是可以执行此操作的用户类型,而您将Java作为无法执行此操作的用户运行?(Java虚拟机在以“管理员”身份运行时可能会放弃特权,以增强安全性) - ShinTakezou