Linux 프로그램 종료 시 신호 포획 및 처리

1213 단어
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

//           
void test(int n,struct siginfo *siginfo,void *myact)
{
         printf("signal number:%d
",n);/** **/ printf("siginfo signo:%d
",siginfo->si_signo); /** siginfo **/ printf("siginfo errno:%d
",siginfo->si_errno); /** **/ printf("siginfo code:%d
",siginfo->si_code); /**  **/ exit(0); } int main(void) { /** install signal use sigaction **/ struct sigaction act; sigemptyset(&act.sa_mask); /** **/ act.sa_flags=SA_SIGINFO; /** SA_SIGINFO **/ act.sa_sigaction=test; if(sigaction(SIGINT,&act,NULL) < 0) { printf("install signal error
"); } while(1) { sleep(1); printf("wait for the signal
"); } }

좋은 웹페이지 즐겨찾기