📄 sig_p_c.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -