[완료] 시그널 핸들러에서 SIGKILL 처리하는 방법
글쓴이: kgykingdom / 작성시간: 수, 2007/10/31 - 5:19오후
다수의 프로세스가 큐로 메시지를 주고 받는데..
kill -9 로 시그널을 보내서 프로세스가 중지될 경우.
시그널 핸들러에서 SIGKILL 을 받아서 큐를 제거하게 하고 싶습니다.
그런데 찾아봐도 방법을 잘 모르겠네요.
가르침을 주세요.. ^^ 현재 프로세스들은 데몬으로 동작하고 있습니다.
현재는 아래 처럼 했는데 안되네요.
sig_handler(int signo) { remove_queue(); } main() { signal(SIGKILL, sig_handler); }
Forums:
이런
SIGKILL 은 사용자 지정이 불가능한거 같군요.. ㅡㅡ;
kill(signo,SIGKILL);로
kill(signo,SIGKILL);로 하시면 됩니다.
..
SIGKILL 은 처리할수 없는 시그널입니다.
SIGTERM이나 다른걸 가지고 하세요.
CHILD를 생성하서 그곳에서 큐를 사용했다면
CHILD가 죽을때 SIGCHILD를 발생하니깐 이것을 받아서
처리하셔도 괜찮을거 같고요.
댓글 달기