我不熟悉在Java上使用AWS SDK。我创建了一个程序来从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,系统找不到指定的文件 at java.lang.ProcessImpl.create(Native Method) 在java.lang.ProcessImpl。(未知来源) at java.lang.ProcessImpl.start(Unknown Source) ......还有5个
我不确定如何连接到我创建的实例并在该实例上运行此命令。
答案 0 :(得分:1)
可能是PATH没有定义,也不知道在哪里找ls
?尝试使用完整路径(例如/bin/ls
)进行验证。