linux 父子进程 资源_实验4 Linux父子进程同步

本文旨在通过实验介绍如何在C语言中使用Linux系统调用wait()和exit()实现父子进程的同步。实验目标包括熟悉系统调用的使用和理解同步概念。同步是多进程间相互协调的关键,wait()用于父进程等待子进程结束,exit()则用于子进程结束时通知父进程。实验基础涉及进程同步的基本原理和wait()、exit()的具体功能及使用方法。
摘要由CSDN通过智能技术生成

实验

4  Linux

父子进程同步

【实验目的】

(

1

)熟悉在

c

语言源程序中使用

linux

所提供的系统调用界面的方法。

(

2

)理解同步的概念。

(

3

)使用系统调用

wait()

exit()

,实现父子进程同步。

【实验原理

/

实验基础知识】

一、同步

在多道系统中,一个进程相对于另一个进程的运行速度是不确定的,但相互

合作的几个进程需要在某些情况下相互协调工作。

同步关系是指多个相互合作的进程,

在某些情况下可能需要相互等待或相互

交换信息,这种相互制约关系称为进程同步。

二、

Linux

中父进程等待子进程的同步

Linux

中实现进程同步的两个系统调用为

wait

()和

exit

()

,使用这两个

系统调用实现父进程等待子进程的同步。具体实现方法是:子进程终止时执行

exit

()向父进程发终止信号,父进程使用

wait

()等待子进程的终止。

1

Wait

()系统调用

功能:等待任意一个子进程终止

格式:

pid_t  wait(  )

例:

wait

(

0

)等待任意子进程结束

返回值:

返回值≥

0

表示有子进程终止,其值为终止子进程的

pid

号。

返回值

=

1

表示无子进程终止。

该进程阻塞,

插入等待子进程终止的队

列,当有子进程终止时被唤醒。

注意:

等待多个子进程终止需要使用多个

wait()

如果该进程没有创建自己

的子进程就不能使用

wait()

所用头文件:

#

include

<

sys

/

wait

h

>

#

include

<

sys

/

types

h

>

2

Exit

()系统调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>