데몬의 가동관리 daemontools
데몬이 비정상 종료했을 경우
daemontools
:데몬 프로세스의 시작, 종료, 재시작, 프로세스가 죽었을 경우의 자동시작과 같은 데몬 프로세스 관리를 수행하기 위한 프로그램군이다.
deamontools를 사용하는 이유
1. 프로세스가 죽었을 경우에 자동적으로 재시작해준다.
2. 손쉽게 데몬을 만들 수 있다.
- 제어터미널에서 분리한다.
- Current Workin Directory(cwd)를 루트(/)로 변경한다.
- 표준입출력 /dev/null(혹은 기타 파일)로 리다이렉트 한다.
데몬이 되기 위한 조건
foreground에서 동작하기
데몬의 관리방법
데몬의 신규작성
- /etc/deamon -> 데몬들을 위치시킬 디렉토리
- /etc/daemon/xxxd -> xxxd를 위한 디렉토리
샘플코드
#! /bin/sh
exec 2>&1
exec \
setuidgid USERNAME \
env - -PATH="/usr/local/bin:$PATH \
envdir ./env \
/usr/local/bin/xxxd
line 2: 표준에러출력을 표준출력으로 리다이렉트한다.
line 3: 이 프로세스를 이후에 오는 명령으로 대체한다.
line 4: 유효 사용자를 변경한다.
line 5: 환경변수를 초기화하고 필요한 환경변수를 설정한다.
line 6: env라는 디렉토리에 파일이 있을 경우는 이를 참조해서 환경변수를 설정한다.
line 7: 데몬프로그램을 실행한다.
시그널 전송
keepalived
지접제작한 감시 스크립트
daemontools의 팁
의존하는 서비스의 시작순서 제어, 편리한 셸 함수
의존하는 서비스의 시작순서 제어
편리한 셸함수
- daemonup
- daemondown
- daemonstat
daemontools
:데몬 프로세스의 시작, 종료, 재시작, 프로세스가 죽었을 경우의 자동시작과 같은 데몬 프로세스 관리를 수행하기 위한 프로그램군이다.
deamontools를 사용하는 이유
1. 프로세스가 죽었을 경우에 자동적으로 재시작해준다.
2. 손쉽게 데몬을 만들 수 있다.
- 제어터미널에서 분리한다.
- Current Workin Directory(cwd)를 루트(/)로 변경한다.
- 표준입출력 /dev/null(혹은 기타 파일)로 리다이렉트 한다.
데몬이 되기 위한 조건
foreground에서 동작하기
데몬의 관리방법
데몬의 신규작성
- /etc/deamon -> 데몬들을 위치시킬 디렉토리
- /etc/daemon/xxxd -> xxxd를 위한 디렉토리
샘플코드
#! /bin/sh
exec 2>&1
exec \
setuidgid USERNAME \
env - -PATH="/usr/local/bin:$PATH \
envdir ./env \
/usr/local/bin/xxxd
line 2: 표준에러출력을 표준출력으로 리다이렉트한다.
line 3: 이 프로세스를 이후에 오는 명령으로 대체한다.
line 4: 유효 사용자를 변경한다.
line 5: 환경변수를 초기화하고 필요한 환경변수를 설정한다.
line 6: env라는 디렉토리에 파일이 있을 경우는 이를 참조해서 환경변수를 설정한다.
line 7: 데몬프로그램을 실행한다.
시그널 전송
svc의 옵션 | 시그널 |
-p | STOP |
-c | CONT |
-h | HUP |
-a | ALRM |
-i | INT |
-t | TERM |
-k | KILL |
keepalived
지접제작한 감시 스크립트
daemontools의 팁
의존하는 서비스의 시작순서 제어, 편리한 셸 함수
의존하는 서비스의 시작순서 제어
편리한 셸함수
- daemonup
- daemondown
- daemonstat
댓글
댓글 쓰기