checkServer
checkServer#
개요#
Altibase 프로세스를 감시하며, 프로세스가 비정상 종료하면 지정된 스크립트 파일을 실행한다.
checkServer [-n] {-f server-restart-script-file}
구문#
파라미터#
파라미터 | 설명 |
---|---|
-n | checkServer를 foreground에서 수행 파라미터 생략시 checkServer는 background에서 수행 |
-f | Altibase 종료시 실행할 스크립트 파일의 이름 |
설명#
checkServer는 주기적으로 Altibase 프로세스가 실행 중인지를 검사하여 Altibase 프로세스가 종료 되었을 경우 사용자가 지정한 스크립트를 수행한다.
Altibase가 비정상 종료 되었을 경우 Altibase 재구동 스크립트를 수행하는 것이 일반적이며, 재구동 스크립트는 다음과 같은 형식으로 작성할 수 있다.
-
Altibase 구동 스크립트 'restart.sh'
#! /bin/sh ${ALTIBASE_HOME}/bin/server start
checkServer는 구동시 $ALTIBASE_HOME/trc 디렉토리에 checkServer.pid와 checkServer.log 파일을 생성한다. checkServer.pid파일은 또 다른 checkServer가 동시에 수행되지 못하도록 하는 락의 역할을 하며 checkServer.log에는 checkServer의 동작 상태가 주기적으로 기록된다.
checkServer를 'kill -9'등의 방법으로 강제 종료했을 경우에 checkServer.pid 파일이 디렉터리에 계속 남아있게 되어 checkServer를 다시 수행할 수 없게 된다. 이 때는 checkServer.pid파일을 삭제하면 checkServer를 정상적으로 시작할 수 있다.
checkServer를 종료하기 위해선 반드시 killCheckServer 유틸리티를 이용한다.
주의 사항#
checkServer는 Altibase 서버가 "server stop" 커맨드를 사용하지 않고 종료된 경우에만, 지정한 재시작 스크립트를 실행한다. "server stop" 커맨드를 사용하여 Altibase 서버를 정상 종료하는 경우, checkServer 프로세스도 역시 종료되어, 재시작 스크립트를 실행하지 않게 된다. 이것은 checkServer가 "server stop" 커맨드를 사용하여 종료하는 것만 정상 종료라고 판단하기 때문이다.
사용 예#
쉘 프롬프트 상에서 다음과 같이 수행한다.
$ checkServer -f restart.sh &