您的位置:首页 > 其它

该如何实现以下功能?第一次按ctrl+c 显示hello,第二次按ctrl+c 退出进程

2009-10-22 22:40 465 查看
代码如下:

#include <stdio.h>
#include <signal.h>
#include <unistd.h>

void show_handler(int sig)
{
printf("hello/n");
// sleep(1);

}

int main(void)
{
int i = 0;
struct sigaction act, oldact;
act.sa_handler = show_handler;
sigaddset(&act.sa_mask, SIGINT); //(1)
act.sa_flags = SA_RESETHAND | SA_NODEFER; //(2)
//act.sa_flags = 0; //(3)

sigaction(SIGINT, &act, &oldact);
while(1) {
sleep(1);
printf("waiting for signals.../n", i);

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐