2014-02-08 3 views
0

Java에서 AWS SDK를 처음 사용했습니다. Java에서 AWS 인스턴스를 만들고 실행 중인지 확인하는 프로그램을 만들었습니다. 하지만 실행중인 인스턴스에서 bash 명령을 실행하는 방법을 파악할 수는 없습니다. 도와주세요! 때 java.io.IOException :AWS EC2 인스턴스의 Java에서 Bash 명령을 실행하십시오.

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) 

에 의한

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."); 
       } 

하지만 오류가 말을 얻을의 CreateProcess 오류 = 2, 파일을 찾을 수 없습니다 시스템은 java.lang.ProcessImpl에서 를 지정했습니다. java.lang.ProcessImpl에서 을 (기본 방법)을 만들 수 있습니다. (알 수없는 소스) 을 java.lang.ProcessImpl.start에서 (알 수없는 소스) ... 5 개

나는 instanc에 연결하는 방법을 잘 모르겠습니다 e 나는 그 인스턴스에서이 명령을 만들고 실행했다.

+1

하나의 해결책으로 ssh를 사용하고 jsch를 사용하여 명령을 실행할 수 있습니까? – jmpyle771

답변

1

PATH가 정의되어 있지 않고 어디서 ls을 찾을 수 있는지 알 수 없습니까? 확인하려면 전체 경로 (예 : /bin/ls)로 시도하십시오.

관련 문제