📄 sigtest1.c
字号:
///////////////////////////////////////////////////////////////ModuleName: semtest.c//Author: delaybbc//WrittenTime: 2004/3/5//Functions: This module test use of signal and// timer in Linux/Unix IPC//Reference: /////////////////////////////////////////////////////////////////////////////////////////header///////////////////////////#include <unistd.h>#include "/home/delaybbc/inc/m_ipc.h"#include "/home/delaybbc/inc/m_networks.h"//////////////////////constant defination////////////////////////////////////////////global variant///////////////////////char msg[20];////////////////////////////body/////////////////////////////void handle_ctrl_c(int signo){ printf("ctrl+c\n"); exit(0);}void handle_alarm(int signo){ printf(msg); alarm(2);}main(){ struct sigaction act; pid_t child_id; act.sa_handler=handle_ctrl_c; sigemptyset(&act.sa_mask); sigaddset(&act.sa_mask,SIGTERM); sigaction(SIGINT,&act,NULL); act.sa_handler=handle_alarm; sigemptyset(&act.sa_mask); sigaddset(&act.sa_mask,SIGALRM); sigaction(SIGALRM,&act,NULL); if((child_id=fork())==0) { sprintf(msg,"I`m child process\n"); sleep(1); alarm(2); while(1); } else { sprintf(msg,"I`m father process\n"); alarm(2); while(1); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -