sigaction 과 signal 의 차이점
글쓴이: 익명 사용자 / 작성시간: 토, 2001/12/08 - 7:23오후
안녕하세요...
참으로 무식한 질문인데,
왜 sigaction을 사용하나요?
다시말해 signal을 사용해도 될텐데 굳이 복잡하게 sigaction 함수를 사용하는
지 잘 모르겠네요.
아마도 그이유가 있을것 같기도 한데...
혹시 시간이 되시면 샘플 코드로 설명을 부탁드립니다.
제경우에는
void InitSignal()
{
signal(SIGCHLD, SIG_IGN);
signal(SIGINT, SIG_IGN);
signal(SIGHUP, SIG_IGN);
signal(SIGSTOP, SIG_IGN);
signal(SIGTERM, SIG_IGN);
install_signal(SIGSEGV, SigtermHandler);
install_signal(SIGBUS, SigtermHandler);
}
위와 같이 함수 만들어 놓고 프로그램에서 쓰는데 sigaction 또는 sigprocmask
를 책에서는 설명하는데 왜 쓰는지 다시 말해 어떤식으로 써야 좋은건지 모르
겠더라구요...
답변 부탁드립니다.
Forums:
Re: sigaction 과 signal 의 차이점
일반적인 유닉스에서의 signal은 한번 시그널을
받은 후에, 그 수명을 다합니다. 즉 그 후론 시
그널을 받을 수 없고 다시 정의 해줘야 합니다.
sigaction의 경우엔, 지속해서 계속 받을 수 있
습니다. linux의 경우엔 BSD로 지정하지 않으면
signal 함수의 기본이 sigaction과 동일한 것으
로 알고 있습니다
-틀릴지도~
댓글 달기