日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux 实验2 进程创建,实验2Linux进程控制与通信

發布時間:2025/4/5 linux 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 实验2 进程创建,实验2Linux进程控制与通信 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實驗2Linux進程控制與通信

實驗 2 Linux 進程控制與通信1. 實驗目的(1 ) 進一步認識并發執行的概念,認識父子進程及進程創建原理;(2 ) 了解 Linux 系統中進程通信的基本原理。2. 實驗環境一臺裝有 Linux 操作系統(Fedora 7) ,至少具有 256M 內存的微機。3. 預備知識1) gcc 編譯器的使用2) fork 系統調用:創建一個新進程3) getpid 系統調用:獲得一個進程的 pid4) wait 系統調用:發出調用的進程等待子進程結束5) pipe 系統調用:建立管道6) write 系統調用:向文件中寫數據7) read 系統調用:從文件中讀數據4. 實驗內容(1 )編寫一段程序(程序名為 parent_child.c) ,使用系統調用 fork()創建兩個子進程,如果是父進程顯示“Parent Process: A”,子進程分別顯示“This is child1 (pid1 =xxxx )process: B”和“This is child1 (pid1 =xxxx )process: C”,其中“xxxx ”分別指明子進程的 pid 號。(2 )編寫一段程序(程序名為 comm.c),父子進程之間建立一條管道,子進程向管道中寫入“Child process 1 is sending a message!”,父進程從管道中讀出數據,顯示在屏幕上。5. 實驗要求(1 ) 將 parentchild.c 源程序,及程序執行結果寫入實驗報告;(2 ) 將 fork()系統調用后內核的工作原理寫入實驗報告;(3 ) 將 comm.c 源程序,及程序執行結果寫入實驗報告;(4 ) 將 Linux 系統中管道通信的工作原理寫入實驗報告。(1 )#include #include main(){if ( fork() == 0 ) // 子進程 1{printf(“This is child1 (pid1 =%d )process: B\n“, getpid() );exit(0);}else{if ( fork() == 0 ) // 子進程 2{printf(“This is child2 (pid2 =%d )process: C\n“, getpid() );exit(0);} printf(“Parent Process: A\n“); // 父進程exit(0);}}(2 )#include#include#includeint main(){int a[2];int pid;char in[50];pipe(a);pid=fork();if(pid==0){close(a[0]);write(a[1],“ Child process 1 is sending a message!“,sizeof(“Child process 1 is sending a message!“));exit(0);}else if(pid>0){close(a[1]);wait(0);read(a[0],in,sizeof(in));printf(“%s\n“,in);exit(0);}}

總結

以上是生活随笔為你收集整理的linux 实验2 进程创建,实验2Linux进程控制与通信的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。