applan의 개발 이야기

[ Tip ] 서버에서 동작하는 특정 프로그램 동작 수 표현 본문

카테고리 없음

[ Tip ] 서버에서 동작하는 특정 프로그램 동작 수 표현

applan 2021. 6. 1. 12:19
728x90

ProcessBuilder를 이용해 ps -ef | grep '원하는 프로그램 명' | wc -l 명령어를 날려서

내가 원하는 프로그램이 현재 몇개가 동작하고 있는지 확인 할 수 있는 소스.

 

# 실행할 커맨드
String[] command = new String[] {"/bin/bash", "-c", "ps -ef | grep '원하는 프로그램' | wc -l" };

# 커맨드를 ProcessBuilder에 넣는다
ProcessBuilder builder = new ProcessBuilder(command);
builder.redirectErrorStream(true);

# 실행
Process process = builder.start();

# 결과를 받기위해 BufferedReader 객체를 만들어주기
InputStream inputstream = process.getInputStream();
InputStreamReader inputstreamreader = new InputStreamReader(inputstream);
BufferedReader bufferedReader = new BufferedReader(inputstreamreader);

# 리턴받을 값 저장할 곳
int a = 9999999;
a = process.waitFor();

# 한줄에 나오기 때문에 한 번만 호출
String cmdOutput = bufferedReader.readLine();

if(StringUtils.isNotBlank(cmdOutput)) {
	a = Integer.parseInt(cmdOutput);
}

 

728x90
Comments