[MSP-2292] MCCS에서는 자바 명령어인 jps -l 명령을 실행할 수 없다.

Subject 

모니터링 스크립트를 jps -l 명령을 통해서 작성. 배치 파일을 수동으로 시작시키면 정상적으로 0을 리턴하지만

MCCS 모니터 스크립트에 등록하여 "수동 감지" 시켜서 실행하면, 리턴값으로 1을 반환한다.

이는 연구소에서 추정하기로 MCCS가 java를 사용하는데 java에서 java를 호출했기 때문에 충돌이 발생한 것 아닌가? 라고 함. 

APPLIES TO: 

 MCCS 4.3.3


SYMPTOMS 

작성한 모니터링 스크립트를 수동으로 실행하면 프로세스 기동시 0 리턴, 종료 시 1 리턴

MCCS에서 모니터링 스크립트를 수동 감지하여 실행시키면 프로세스가 기동되어 있음에도 1을 리턴 받는다.

 

CAUSE 

이는 연구소에서 추정하기로 MCCS가 java를 사용하는데 java에서 java를 호출했기 때문에 충돌이 발생한 것 아닌가? 라고 함. 

 

SOLUTION 

자바 명령을 쓰지 않고, wmic 명령으로 대체함. 

<시작 스크립트>
wmic process where 'commandline like "%%com.mb.indigo2.server.core.Main%%"' call terminate /nointeractive

wmic process where 'commandline like "%%startup.jar%%"' call terminate /nointeractive

timeout /t 5

d:

cd D:\sw\tindigo\im\bin

start im.bat

exit 0

<모니터 스크립트>

wmic process get commandline | findstr "com.mb.indigo2.server.core.Main" | findstr -v "findstr" || wmic process get commandline | findstr "startup.jar" | findstr -v "findstr"

exit %errorlevel%

<종료 스크립트>

wmic process where 'commandline like "%%com.mb.indigo2.server.core.Main%%"' call terminate /nointeractive

wmic process where 'commandline like "%%startup.jar%%"' call terminate /nointeractive

exit 0