这个主函数中,为什么要把pause放在一个死循环里 什么信号到达之后会 停止pause?

int main()
{
struct sigaction act;
printf("rcv pid=%d\n", getpid());
memset(buf,0,sizeof(buf));
act.sa_sigaction = action;
sigemptyset(&act.sa_mask);
act.sa_flags = SA_SIGINFO;
sigaction(SIGALRM, &act, NULL);
while(1)
{
pause();
}
}

郎朗坤
浏览 92回答 3
3回答

吃鸡游戏

也许,要的就是死循环。拍入Enter 键 pause (暂停)结束。循环,再进入暂停。拍入 Ctrl+C 组合键 结束程序。(有的系统是 Ctrl+D 结束).

梵蒂冈之花

只有EINTR 有信号到达中断此函数的执行。头文件:#include <unistd.h>定义函数:int pause(void);函数说明:pause()会令目前的进程暂停(进入睡眠状态), 直到被信号(signal)所中断.返回值:只返回-1.

红糖糍粑

这个pause()函数不会接受信号而停止,除了关闭这个程序。其实没必要这么写!调用一次就可以了塞!
打开App,查看更多内容
随时随地看视频慕课网APP