Subject
MCCS init 스크립트 오류
APPLIES TO:
init linux runlevel
SYMPTOMS
"/etc/init.d/mccs_agent" 파일에
reboot(runlevel 6) 나 halt(runlevel 0)시 그룹 오프라인후 절체하도록 되어 있어야 하나 runlevel 1과 6일 때 동작하도록 되어있음
runlevel | egrep -i '1|6'
-> runlevel | egrep -i '0|6'
CAUSE
linux의 정상 종료 절차는 runlevel의 단계적 하강을 따름
전통적인 halt 명령은 원래 ACPI에 직접적인 전원 차단 명령 혹은 CPU에 명령처리 중지를 내리는 명령어로서 몇몇 닉스 계열 운영체제는 아직도 이 방식을 사용하는 것으로 알고 있음. 리눅스는 0 혹은 6이 아닌 상태에서 해당 명령이 호출 될 경우 shutdown을 호출하게 되어 있음.
runlevel 0로의 직접적인 진입은 그 이전 runlevel의 처리 과정을 무시하고 강제 종료의 의미를 가진다고 판단하여 MCCS에서도 이 case에 대해서 대기 하지 않고 종료를 우선시 하도록 함.
SOLUTION
MCCS에서는 runlevel 0으로 직접 진입은 전원 버튼을 누르는 케이스와 동일하게 보고 있음.
정리 작업이 필요한 상황에 대해서는 shutdown과 같은 단계적 runlevel 하강을 따르는 명령을 쓰도록 권고.
Related articles