반응형
리눅스상에서 pe -ef를 통해 특정 프로세스를 찾을 수 있습니다.
그리고 | 파이프와 grep 을 통해 필터를 해서 필요한 프로세스만 확인을 합니다.
이 명령어를 자바에서 할 때 주의할 점이 있습니다.
아래 코드에 "Runtime.getRuntime()" 명령어 사용하는 라인을 보면 주석 처리 된 라인과 활성화 된 라인을 비교해 보시기 바랍니다.
주석처리 된 라인으로 실행하게 되면 아무 결과도 얻을 수 없습니다.
포인트는 배쉬 대신 쉘을 이용해서 명령어를 실행해야 파이프나 grep 이 정상적으로 동작한다는 겁니다.
아니면, 실제 저 명령어가 들어가 쉘을 하나 만들어놓고 그 쉘을 그냥 실행하는 방법도 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public class Test { public static void main(String[] args) { String line; try { // Process p = Runtime.getRuntime().exec("ps -ef | grep java | grep -v grep"); Process p = Runtime.getRuntime().exec(new String[] {"sh", "-c", "ps -ef | grep java | grep -v grep"}); BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream())); while ((line = input.readLine()) != null) { System.out.println(line); } } catch (Exception err) { System.out.println(err); } } } |
반응형
'java' 카테고리의 다른 글
spring jdbc sample (0) | 2018.06.04 |
---|---|
spring boot logback.xml file rolling example 스프링부트 logback.xml 파일 롤링 예제 (0) | 2018.05.17 |
spring boot tomcat accesslog 스프링부트 탐캣 엑세스로그 (0) | 2018.05.17 |
spring boot tomcat port 스프링부트 포트 (0) | 2018.05.17 |
java inputStream to String, read classpath file (0) | 2018.05.16 |
java byte substring (0) | 2018.05.15 |
pure java http client example (jdk 1.8) (0) | 2018.04.01 |
java - spring boot filter 등록 (0) | 2018.03.23 |