8 1 7 程序程式設計例項

2021-05-13 03:22:58 字數 913 閱讀 3591

在本節的最後,給出乙個多程序程式設計的綜合例項,程式會建立兩個程序,在父程序和子程序之間通過管道傳遞資料,父程序向子程序傳送字串

exit

表示讓子程序退出,並且等待子程序返回;子程序查詢管道,當從管道讀出字串

exit

的時候結束。

例項8-7

程序程式設計例項

1 // process_demo.c

2 #include

3 #include

4 #include

5 #include

6 #include

7 8 int main()

9 18

19pid = fork();

20if (-1==pid) else if (0==pid)

33}34} else

42 43 return 0;

44 }

程式第14~

17行建立管道,並檢查管道建立是否成功。第

19行呼叫

fork()

函式建立程序。第23~

32行是子程序的**,子程序首先關閉管道寫操作,然後進入乙個死迴圈,不斷從管道讀取資料,如果有資料會檢查資料內容,發現字串

exit

就呼叫exit()

函式結束程序。第35~

40行是父程序的**,首先是關閉管道讀操作,然後等待

2秒,向管道寫入字串

exit

,最後關閉管道寫操作。程式執行結果如下:

wait command from parent!

parent process! child process id: 8013

send command to child process.

recv command ok!

Linux 多程序程式設計例項(一)

乙個程序,建立兩個子程序,利用exec函式族使兩個子程序執行不同的程式。子程序1執行ls l命令後正常返回,子程序2暫停5s後異常返回,父程序阻塞方式等待程序1,非阻塞方式等待程序2,等父程序收集到程序2的返回資訊後就退出。include include include include includ...

程式設計例項 禁止暴風影音後台程序

rem exescript options begin rem scripttype console rem destdirectory temp rem icon f 娛樂 電腦 我的圖示 cancel.ico rem outputfile c documents and settings adm...

php 多程序程式設計父程序的阻塞與非阻塞例項分析

php中程序的阻塞,主要是父程序等待子程序退出。1.php 如下 define fork nums 5 用於儲存程序pid pids array 我們建立5個子程序 for i 0 i fork nums i else if pids i r n 我們讓子程序等待3秒,再退出 sleep 3 exi...