0
我是在Java上使用AWS SDK的新手。我创建了一个程序来从Java创建AWS实例并检查它是否正在运行。但我无法弄清楚如何在运行的实例上运行bash命令。请帮忙!在AWS EC2实例上从JAVA运行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的错误= 2,系统无法找到该文件在指定java.lang.ProcessImpl 。在java.lang.ProcessImpl在java.lang.ProcessImpl.start创建(本机方法) 。(来源不明) (来源不明) ... 5个
我不知道如何连接到instanc e我在该实例上创建并运行了此命令。
一个解决方案可能是ssh进入它,然后使用jsch运行命令? – jmpyle771