APUE学习笔记-捕捉信号的简单程序,pause

#include "myapue.h"

static void sig_usr(int signo);

int main(void)
{
	if(signal(SIGUSR1, sig_usr) == SIG_ERR)
		err_sys("can't catch SIGUSR1");
	if(signal(SIGUSR2, sig_usr) == SIG_ERR)
		err_sys("can't catch SIGUSR2");
	for(;;)
		pause();
}

static void sig_usr(int signo)
{
	if(signo == SIGUSR1)
		printf("received SIGUSR1\n");
	else if(signo == SIGUSR2)
		printf("received SIGUSR2\n");
	else 
		err_dump("received signal %d\n", signo);
}

<257>

(1)

pause函数:使调用进程挂起直至捕捉到一个信号,只有执行了信号处理程序并从其返回时,pause才返回。





你可能感兴趣的:(APUE学习笔记-捕捉信号的简单程序,pause)