加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 无法运行程序“/Applications/Utilities/Terminal.app”

发布时间:2020-12-15 04:24:03 所属栏目:Java 来源:网络整理
导读:我在运行以下代码时遇到了大量的复杂问题: package practice;import java.io.IOException;public class ProgramExecutor { public static void main (String [] args){ try{ Process p = Runtime.getRuntime().exec("/Applications/Utilities/Terminal.app"
我在运行以下代码时遇到了大量的复杂问题:

package practice;

import java.io.IOException;

public class ProgramExecutor {

    public static void main (String [] args){
        try{
            Process p = Runtime.getRuntime().exec("/Applications/Utilities/Terminal.app");
        } catch (IOException e){
            e.printStackTrace();
        }
    }
}

它返回以下错误消息:

java.io.IOException: Cannot run program "/Applications/Utilities/Terminal.app": error=13,Permission denied
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
    at java.lang.Runtime.exec(Runtime.java:620)
    at java.lang.Runtime.exec(Runtime.java:450)
    at java.lang.Runtime.exec(Runtime.java:347)
    at basicSkills.ProgramExecutor.main(ProgramExecutor.java:9)
Caused by: java.io.IOException: error=13,Permission denied
    at java.lang.UNIXProcess.forkAndExec(Native Method)
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:185)
    at java.lang.ProcessImpl.start(ProcessImpl.java:134)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
    ... 4 more

我将如何解决它.这似乎是由于我的Mac上的权限问题.我使用chmod命令更改了终端中的权限,但收效甚微.还有什么呢?是否可以以超级用户身份运行Eclipse以访问此文件?

解决方法

路径’/Applications/Utilities/Terminal.app’是终端应用程序的路径,它是一个目录.实际的可执行终端程序路径是:

/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal

这是exec调用中需要的路径.

或者使用

open -n /Applications/Utilities/Terminal.app

命令.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读