Young87

当前位置:首页 >个人收藏

LINUX 进程间的软中断通信,linux进程(软中断通信)

父进程创建两个子进程,接收到Ctrl+\后向两个子进程发送信号16和17 ,结束子进程生命周期

#include

#include

int wait_mark = 1;

void stop()

{

wait_mark = 0;

}

int main()

{

int pid1,pid2;

while((pid1=fork())==-1)

;

printf("pid1=%d\n",pid1);

if(pid1==0)

{

signal(SIGQUIT,SIG_IGN);

wait_mark = 1;

printf("pid1 created!\n");

signal(16,stop);

while(wait_mark)

;

printf("\npid1 killed by parent\n");

}

else

{

while((pid2=fork())==-1){}

printf("pid2=%d\n",pid2);

if(pid2==0)

{

signal(SIGQUIT,SIG_IGN);

wait_mark = 1;

printf("pid2 created!\n");

signal(17,stop);

while(wait_mark)

;

printf("\npid2 killed by parent\n");

}

else

{

signal(SIGQUIT,stop);

while(wait_mark)

;

wait_mark = 1;

kill(pid1,16);

kill(pid2,17);

wait(0);

wait(0);

wait_mark = 1;

while(wait_mark)

{

signal(SIGQUIT,stop);

}

printf("\nparent killed!\n");

}

}

return 0;

}

除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog

上一篇: 春招掌握这些Redis分区技巧,保你拿到阿里字节的offer!

下一篇: Python精美地理可视化绘制——以中国历年GDP数据为例

精华推荐