sig_p_c.c
来自「Linux大学上机源码学习」· C语言 代码 · 共 59 行
C
59 行
#include <stdio.h>#include<signal.h>#include <unistd.h>void waiting(),stop();int wait_mark;main(){ int p1,p2; signal(SIGINT,SIG_DFL); signal(SIGQUIT,SIG_IGN); while((p1=fork())==-1); if(p1>0) { while((p2=fork())==-1); if (p2>0) { wait_mark=1; signal(SIGINT,stop); waiting(); kill(p1,16); kill(p2,17); wait(0); wait(0); lockf(1,1,0); printf("parent process is killed!\n"); lockf(1,0,0); exit(0); } else { wait_mark=1; signal(17,stop); waiting(); lockf(1,1,0); printf("child process 2 is killed by parnent!\n"); lockf(1,0,0); exit(0); } } else { wait_mark=1; signal(16,stop); waiting(); lockf(1,1,0); printf("child 1 is killed\n"); lockf(1,0,0); exit(0); }}void waiting() { while(wait_mark!=0); }void stop() { wait_mark=0; }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?