리눅스 시스템에서 부팅이나 기타 명령어를 수행하고자 할때 응답이 없는
경우가 있다. 프로세스를 kill 하려고 해도 죽지 않거나 sync or reboot 를
해도 그냥 멈춰 있는 경우를 가끔 경험하는 때가 있다.
# reboot
Broadcast message from root@xxxx (pts/4) (Mon Nov 8 16:45:00 2010):
The system is going down for reboot NOW!
이럴때 강제적으로 리부팅하는 하는 방법이 있다. 다음과 같이 설정하여
강제적으로 리부팅이 가능하다.
echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger
sysrq 에 값을 셋팅하는데 sysrq 는 무엇일까? sysrq.c 에 기술된 내용을 보면
다음과 같다:
* What is the magic SysRq key?
It is a 'magical' key combo you can hit which the kernel will respond to regardless of whatever else it is doing, unless it is completely locked up.
즉, 매직키와 같은 것으로 솔라리스 계열의 스팍 시스템 키보드를 보면
Stop 키가 있다. Alt-Stop-<command key> 를 누르면 특정 명령이 수행되는
형태와 같은 것이다. 이 command key 는 사전에 정의된 것으로
'b' 는 syncing 또는 언마운트 없이 즉시 리부팅을 수행하고, 'e' 는
init 를 제외한 모든 프로세스에 SIGTERM 을 보낸다.
위 예와 같이 sysrq 에 1을 설정하여 enable 상태를 만들고 sysrq-trigger에
b 명령어를 보내 즉시 리부팅을 수행하도록 한다.
[참고]
1. Magic SysRq key
http://en.wikipedia.org/wiki/Magic_SysRq_key
좋은정보 감사합니당~ ^^> 쵝오~
답글삭제