sigint linux,signal(SIGINT,stop)的问题,大家进来看下!!!

sigint linux,signal(SIGINT,stop)的问题,大家进来看下!!!该楼层疑似违规已被系统折叠隐藏此楼查看此楼有以下代码 intmain void intp1 p2 signal SIGINT stop while p1 fork 1 if p1 gt 0 InParentProc 1 while p2 fork 1 i

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

有以下代码:

int main(void)

{

int  p1, p2;

signal(SIGINT,stop);

while((p1=fork())= =-1);

if(p1>0)                           /* In Parent Process*/

{       /*(1) */

while((p2=fork())= =-1);

if(p2>0)                   /*in parent process*/

{    /* (2) */

wait_mark=1;

waiting(0);

kill(p1,10);

kill(p2,12);

wait( );

wait( );

printf(“parent process is killed!\n”);

exit(0);

} else{                   /*In Child Process 2*/

wait_mark=1;

signal(12,stop);

waiting();

lockf(1,1,0);              //加锁

printf(“child process 2 is killed by parent!\n”);

lockf(1,0,0);              //解锁 exit(0);

}

}else{                             /*In Child Process 1*/

wait_mark=1;

signal(10,stop);

waiting();

lockf(1,1,0);

printf(“child process 1 is killed by parent!\n”);

lockf(1,0,0);

exit(0);

}

return 0;

}

void waiting()

{

while(wait_mark!=0);

}

void stop()

{

wait_mark=0;

}

如果把signal(SIGINT,stop)放在(1)号和(2)号位置,结果会怎样?为什么?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/223909.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午1:09
下一篇 2026年3月17日 下午1:09


相关推荐

  • OpenClaw Windows 10 家庭版安装教程:零基础40分钟跑通全流程

    OpenClaw Windows 10 家庭版安装教程:零基础40分钟跑通全流程

    2026年3月12日
    4
  • 土地利用转移矩阵的几种实现方法

    土地利用转移矩阵的几种实现方法土地利用转移矩阵生成的几种方法 nbsp nbsp nbsp nbsp nbsp nbsp 查阅相关的资料 也没有得到土地利用类型转换矩阵确切的定义 我理解为不同时间段内同一区域内土地利用类型的相互转换关系 一般用二维表来表达 从二维表中可以快速查看各个地类间相互转化的具体情况 比如某一类别的土地有百分之多少 或者面积 分别转化成了其他的土地类型 现在某类型的土地分别是由过去的哪些类别转化而来的等等 还可以生成变化统计栅格图 掩膜图像 它描述

    2026年3月19日
    2
  • Superblock介绍和故障恢复

    Superblock介绍和故障恢复一 超级块的介绍 超级块 nbsp 从磁盘上读出来的第一块信息就是超级块 superblock 它记录了磁盘的几何尺寸 可用空间容量 nbsp 最重要的是记录了第一个 inode 位置 就是 的 ext2 3 文件存取都是通过 inode 定位的 比如使用 home blue test 这个文件 首先先找到 的 inode 然后找到 home 的 inode 再找到 blue 的 inode nbsp 最后找到 test 的 in

    2026年3月17日
    2
  • 获取当前索引号_索引号及编号

    获取当前索引号_索引号及编号!!!!!加变量换变量技巧、应用于缓动公式

    2022年8月2日
    10
  • win10共享打印错误0x0000006_win10共享打印机出现错误代码0X0000000d怎么办 打印机无法打印的解决步骤…[通俗易懂]

    win10共享打印错误0x0000006_win10共享打印机出现错误代码0X0000000d怎么办 打印机无法打印的解决步骤…[通俗易懂]win10系统查找打印机提示错误代码0x0000000d怎么办?此问题解决非常简单,只要“添加打印机”即可,下面有详细的安装步骤,一起看看吧!错误代码0x0000000d的解决方法步骤1、点击win10系统的开始/控制面板/打印机;win10系统查找打印机提示错误0x0000000d的解决方法2、选择“添加打印机”;3、选择“添加本地打印机”,按一下步;4、选择“创建新端口”/选择“local…

    2022年5月14日
    148
  • ORACLE分页查询SQL语句(最有效的分页)

    ORACLE分页查询SQL语句(最有效的分页)**一、效率高的写法**1.无ORDERBY排序的写法。(效率最高)(经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响,速度依然!)SELECT*FROM(SELECTROWNUMASrowno,t.*FROMemptWHEREhire_dateBETWEENTO_DATE…

    2022年4月29日
    538

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号