永发信息网

指教一下这段C程序在linux下的作用,及具体函数用法

答案:1  悬赏:20  手机版
解决时间 2021-07-22 14:32

程序如下:

linux操作系统下进程的同步、互斥、撤消...

#include<stdio.h>
#include<signal.h>
#include<unistd.h>
#include<stdlib.h>
int wait_mark;
void waiting(),stop();
main(){
int p1,p2;
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);
printf("parents is killed\n");
exit(0);
}
else {
wait_mark=1;
signal(17,stop);
waiting();
lockf(1,1,0);
printf("P2 is killed by parent\n");
lockf(1,0,0);
exit(0);
}
}
else{
wait_mark=1;
signal(16,stop);
waiting();
lockf(1,1,0);
printf("P1 is killed by parent\n");
lockf(1,0,0);
exit(0);
}
}
void waiting()
{
while(wait_mark!=0);
}
void stop()
{
wait_mark=0;
}

请问这个程序是否实现了互斥???如果没有,那么怎么去改啊。。。

lockf(1,1,0);是怎么实现互斥的啊??后面的参数是什么用。。。

帮我解答一下。。。太蒙了

最佳答案
你好。
很幸运看到你的问题。
但是又很遗憾到现在还没有人回答你的问题。也可能你现在已经在别的地方找到了答案,那就得恭喜你啦。
可能是你问的问题有些专业了,没人会。或者别人没有遇到或者接触过你的问题,所以帮不了你。建议你去问题的相关论坛去求助,那里的人通常比较多,也比较热心,可能能快点帮你解决问题。
希望我的回答也能够帮到你!
祝你好运~!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
快速问医生靠谱吗知乎,百度知道有没有人知道
莫斯科有中餐厅吗?
40的粉自动多钱可以买到
想了解诺基亚6303
为什么在QQ里别人加我好友但是我这里却没有反
我DNF36级了怎么得不到阿法利亚地图
怎样熬羊肉汤最好喝,怎样做羊肉汤好喝
川汇区周口中原银行24小时自助银行这个地址怎
痛经是一种病吗?可不可以治好的?
衡山县衡阳佳丽精品店地址是什么,有没有知道
SS501的哪首歌高潮最适合铃声?
关于矢泽爱的动画
孔子的思想对伏尔泰有影响吗
武穴市黄冈石佛寺国土资源所地址是什么,有没
丝路英雄的声望下降了图标会灭吗?
推荐资讯
电脑老是不能上网,什么提示也没有
濮阳县群牛鲜奶配送中心这个地址怎么能查询到
嵩县洛阳吉祥龙布艺怎么去啊,谁知道地址啊
西工区洛阳PANDORA(王府井百货西区)这个地址
息县信阳优宝连锁托辅我想知道这个在什么地方
郑板桥和陶渊明思想性格上有什么相同点
苹果匿名电话怎么打,苹果6plus手机可以设置打
毕业设计的意义怎么写,毕业设计的作用和意义
法国小拉菲是什么等级?
我又失败了,我对人生没信心了。大师我该怎么
我的QQ飞车的荣誉都1530了为什么还是公民?
诺基亚5800、5800XM、5802心机、5800i对比,
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?