반응형
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class App {
public static void main(String[] args) throws Exception {
System.out.println("Hello, World!");
String s;
Process p;
try {
//이 변수에 명령어를 넣어주면 된다.
String[] cmd = {"/bin/sh","-c","ps -ef | grep tomcat"};
p = Runtime.getRuntime().exec(cmd);
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((s = br.readLine()) != null)
System.out.println(s);
p.waitFor();
System.out.println("exit: " + p.exitValue());
p.destroy();
} catch (Exception e) {
}
}
}
실행할 명령어를 String[] 타입이 아니라
String cmd = "ls -al";
처럼 String 으로도 넣을 수 있는데...
명령어에 | 파이프가 들어가는 경우엔... 실행이 안 되었다..
그래서 찾아본 결과.. String[] 을 이용하면 된다고 해서 해보니.. 됐음..
String[] cmd = {"/bin/sh","-c","ps -ef | grep tomcat"};
- /bin/sh -c : 그 뒤에 오는 문자열을 실행하라는 의미
- 파이프가 들어가는 명령어 실행 관련하여 참조한 링크
반응형
'코딩 관련 > Java' 카테고리의 다른 글
[JAVA] 연산 헷갈리는거 정리 / 정수 연산 / 연산 결과 / 연산 타입 (0) | 2021.04.22 |
---|---|
[JAVA] 변수 헷갈리는 내용 정리 (0) | 2021.04.22 |
[JAVA] 콘솔 출력. System.out (0) | 2021.03.24 |
[JAVA] 콘솔 입력. System.in (0) | 2021.03.24 |
[JAVA] Writer (0) | 2021.03.24 |