linux 父子进程 资源_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
()系統調用
總結
以上是生活随笔為你收集整理的linux 父子进程 资源_linux 父子进程 资源_实验4 Linux父子进程同步的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux telnet.class,L
- 下一篇: centos7 关闭selinux_De