在AWS EC2实例上从JAVA运行Bash命令
我不熟悉在Java上使用AWS SDK。我已经创建了一个程序来从Java创建AWS实例,并检查它是否正在运行。但是我不知道如何在那个正在运行的实例上运行bash命令。请帮忙在AWS EC2实例上从JAVA运行Bash命令,java,amazon-web-services,sdk,amazon-ec2,Java,Amazon Web Services,Sdk,Amazon Ec2,我不熟悉在Java上使用AWS SDK。我已经创建了一个程序来从Java创建AWS实例,并检查它是否正在运行。但是我不知道如何在那个正在运行的实例上运行bash命令。请帮忙 try { String lscmd = "ls"; Process p=Runtime.getRuntime().exec(lscmd); p.waitFor();
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个
我不知道如何连接到我创建的实例并在该实例上运行此命令 可能是路径没有定义,并且不知道在哪里可以找到
ls
?尝试使用完整路径(例如,/bin/ls
)进行验证。一种解决方案可能是使用ssh连接到该路径,然后使用jsch运行该命令?