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

实验

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

()系统调用


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部