实现两个程序mysignal、mycontrl,mycontrl给mysignal发送SIGINT信号,控制mysignal是否在屏幕打印“hello”字符串。

来源:互联网 发布:c语言编译器安卓版 编辑:程序博客网 时间:2024/05/20 16:12
int status = 0;void catch_Signal(int Sign){`switch (Sign){  case SIGINT:  if (status == 0)  status = 1;  else status = 0;  break;}}int singnal1(int signo, void (*func)(int)){    struct sigaction act, oact;    act.sa_handler = func;    sigemptyset(&act.sa_mask);    act.sa_flags = 0;    return sigaction(signo, &act, &oact);}int main(void){singnal1(SIGINT, catch_Signal);while (1){if (status){printf("hello\n");}sleep(1);}return EXIT_SUCCESS;}


int main(int arg, char *args[]){if (arg < 2){return 0;}else{int pid = atoi(args[1]);kill(pid, SIGINT);}return EXIT_SUCCESS;}


0 0
原创粉丝点击