【问题标题】:Run Bash Command from JAVA on AWS EC2 Instance在 AWS EC2 实例上从 JAVA 运行 Bash 命令
【发布时间】:2014-02-08 19:12:01
【问题描述】:

我不熟悉在 Java 上使用 AWS 开发工具包。我创建了一个程序来从 Java 创建 AWS 实例并检查它是否正在运行。但我无法弄清楚如何在该运行实例上运行 bash 命令。请帮忙!

try
                {
                    String lscmd = "ls";
                    Process p=Runtime.getRuntime().exec(lscmd);
                    p.waitFor();
                    BufferedReader reader=new BufferedReader(new InputStreamReader(p.getInputStream()));
                    String line=reader.readLine();
                    while(line!=null)
                    {
                        System.out.println(line);
                        line=reader.readLine();
                    }
                }
                catch(IOException e1) {
                    e1.printStackTrace();
                }
                catch(InterruptedException e2) {
                    System.out.println("Pblm found2.");
                }

但我收到一个错误提示,

java.io.IOException: Cannot run program "ls": CreateProcess error=2, The system cannot     find the file specified
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at ListInstances.main(ListInstances.java:79)

原因:java.io.IOException: CreateProcess error=2, 系统找不到指定的文件 在 java.lang.ProcessImpl.create(本机方法) 在 java.lang.ProcessImpl.(未知来源) 在 java.lang.ProcessImpl.start(未知来源) ... 5 更多

我不确定如何连接到我创建的实例并在该实例上运行此命令。

【问题讨论】:

  • 一种解决方案可能是通过 ssh 进入它,然后使用 jsch 运行命令?

标签: java amazon-web-services sdk amazon-ec2


【解决方案1】:

会不会是PATH没有定义,不知道去哪里找ls?尝试使用完整路径(例如/bin/ls)进行验证。

【讨论】:

    猜你喜欢
    • 2020-02-25
    • 1970-01-01
    • 2021-03-14
    • 1970-01-01
    • 2020-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多