2008/11/14 11:03 작업/리눅스
redhat linux 시스템 서비스 생성시 주의 사항
언제부터였는지는 모르겠지만,
/etc/rc.d/init.d/ 에 shell script를 등록한 뒤, chkconfig로 서비스 등록 및 시작을 해도 shutdown(init 0)이나 reboot(init 6)시 시작된 서비스가 중지되지 않는 문제가 생겼다.
영어에 취약한 관계로 정확한 해석은 아니었지만, /var/lock/subsys 위치에 해당 스크립트 이름과 동일한 서비스가 등록되어 있지 않은 경우에 /etc/rc 에서 실행시키지 않는다는 내용을 본것 같다.
따라서, 서비스를 종료시에 꼭 실행시키려면 service 시작시에
/var/lock/subsys/{name} 파일을 만들어줘야 하며,
service 종료시에 해당 파일을 삭제해 줘야한다.
예를 들자면,
/etc/rc.d/init.d/ 에 shell script를 등록한 뒤, chkconfig로 서비스 등록 및 시작을 해도 shutdown(init 0)이나 reboot(init 6)시 시작된 서비스가 중지되지 않는 문제가 생겼다.
영어에 취약한 관계로 정확한 해석은 아니었지만, /var/lock/subsys 위치에 해당 스크립트 이름과 동일한 서비스가 등록되어 있지 않은 경우에 /etc/rc 에서 실행시키지 않는다는 내용을 본것 같다.
따라서, 서비스를 종료시에 꼭 실행시키려면 service 시작시에
/var/lock/subsys/{name} 파일을 만들어줘야 하며,
service 종료시에 해당 파일을 삭제해 줘야한다.
예를 들자면,
#!/bin/bash
start()
{
[...서비스 시작에 관련된 명령...]
[ $? -eq 0 ] && touch /var/lock/subsys/{name}
}
stop()
{
[...서비스 종료에 관련된 명령...]
[ $? -eq 0 ] && rm -f /var/lock/subsys/{name}
}
case "$1" in
start)
start
;;
stop)
stop
;;
*)
exit 1
esac
exit 0
start()
{
[...서비스 시작에 관련된 명령...]
[ $? -eq 0 ] && touch /var/lock/subsys/{name}
}
stop()
{
[...서비스 종료에 관련된 명령...]
[ $? -eq 0 ] && rm -f /var/lock/subsys/{name}
}
case "$1" in
start)
start
;;
stop)
stop
;;
*)
exit 1
esac
exit 0
'작업 > 리눅스' 카테고리의 다른 글
| rpm 삭제 오류시 대처 방법 (0) | 2008/12/24 |
|---|---|
| SElinux 사용시 주의점 (1) | 2008/12/23 |
| redhat linux 시스템 서비스 생성시 주의 사항 (0) | 2008/11/14 |
| CentOS를 이용해서 LVS를 구축하는 경우 (3) | 2008/10/15 |
| Linux Clustering 서비스 구축 시 (0) | 2008/10/08 |
| 아~~ 졸라 어렵다... (6) | 2008/10/07 |
