Runtime.exec()로 pipe 포함 명령어 실행

조회 2,758 · 댓글 0
stdio.hstdio.h작성자2016년 3월 14일
자바 Runtime.exec()로 명령어를 실행할 때, | (pipe)가 들어있으면 안되는 문제.

예를 들어 "ps -ef | grep pmon" 실행을 위하여 다음과 같이 실행.


String cmd = "ps -ef | grep pmon";

Process p = Runtime.getRuntime().exec(cmd);


하지만 안됨. 그렇지만 다음과 같이 실행하면 됨.


[hide]String[] cmd = {"/bin/bash","-c","ps -ef | grep pmon"};
Process p = Runtime.getRuntime().exec(cmd);[/hide]

로그인 후 답글을 남길 수 있습니다.