지난일들/이클립스 플러그인개발

java 에서 실행시킨 minicom에 명령 전달

바위맨 2014. 2. 21. 04:38
반응형

java에서 process builder를 사용하게 되면 쉽게 외부의 프로그램을 실행 시킬수 있다.

그러나 text기반으로 실행되는 프로그램들은 in/out stream을 얻어오는것으로 쉽게 In/out을 컨트롤 할 수 있지만 minicom과 같이 독립의 콘솔을 요구하는 프로그램의 경우는 사용이 다르다.

FileOutputStream();

FileInputStream();

을 사용해서 process builder를 통해서 생성된 프로세스의 in/out stream을 얻어오게되면

minicom과 같이 독립적으로 실행되는 process에 대해서도 I/O의 컨트롤이 가능하다. 


String params[] = {"/usr/bin/gnome-terminal", "-e", "minicom"};// "/usr/bin/minicom"
            // Jtag이용한 보드연결
            // String params[] = {"/root/grmon-eval","-jtag","-nb"};
            // 명령이 입력되어있는 Process생성
            ProcessBuilder pb = new ProcessBuilder(params);
            try {
                // pb.inheritIO().start(); // console을 통한 직접 컨트롤을 할경우
                proc = pb.start();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            FileInputStream in = null;
            FileOutputStream out = null;
        /*    try {
                in = new FileInputStream("/dev/ttyS1");
               

                int c = 0;
                while ((c = in.read()) != -1)
                {
                    System.out.print((char) c);
                }
                in.close();
            } catch (IOException e) {
                e.printStackTrace();
            }*/
             try {
                  Thread.sleep(5000); } catch (InterruptedException e) {
                     // TODO Auto-generated catch block
                 
                  e.printStackTrace(); }
            try {
                out = new FileOutputStream("/dev/ttyS1");
                out.write("test".getBytes());
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }



반응형

'지난일들 > 이클립스 플러그인개발' 카테고리의 다른 글

이클립스에 메뉴 추가  (0) 2013.12.19
Java 공부  (0) 2013.11.05
이클립스 공부  (0) 2013.09.25