實驗 七
管道 e pipe 和 和 n popen 通信
實驗目的
1.
掌握無名管道 pipe 的原理 2.
掌握管道的應用及重定向。
3.
熟悉 popen 創建管道的方式及應用程序設計; 實驗內容
1. (1) 在命令行下執行 ls –l |grep .c 命令,查看運行結果。
(2)設計一個程序,要求創建一個管道 PIPE,復制進程,父進程運行命令“ls
-l”,把運行結果寫入管道,子進程從管道中讀取“ls
-l”的結果,把讀出的作為輸入運行“grep
.c”。即實現“ ls –l |grep .c”功能。參考課件 ch4 P52,54。
程序源代碼:
#include <stdio.h> #include<signal.h>
#include<unistd.h>
#include<stdlib.h> int main () {
int fd[2];
char buf[1000];
pid_t p;
if(pipe(fd)<0)
{
printf("創建管道失敗");
return -1; }
p=fork();
if(p<0)
{ perror("創建子進程失敗");
exit;}
else if (p==0){
close(0);
dup(fd[0]);
execlp("grep","grep",".c",NULL);
}
else{
close(1);
dup(fd[1]);
execlp("ls","ls","-l",NULL);
wait(0);
}
return 0; } 結果截圖:
2. (1)在命令行下執行
$touch file.txt
$ls –l
>file.txt, cat 命令查看 file.txt 內容。
(2)設計一個程序,要求利用 popen 函數,實現“ls –l > file.txt”的重定向功能,file.txt 在程序中創建。參考課件 ch4 59 程序源代碼:
#include <stdio.h> #include<signal.h>
#include<unistd.h>
#include<stdlib.h> int main ()
{
FILE *fp; int num;
char buf[500];
memset(buf,0,sizeof(buf));
printf("建立管道„„\n");
fp=popen("ls -l","r");
if(fp!=NULL)
{
num=fread(buf,sizeof(char),500,fp);
if(num>0)
{ printf("%s\n",buf);
}
pclose(fp); }
else
{ printf("用 popen 創建管道錯誤\n");
return 1; }
fp=fopen("a.txt","w+");
fwrite(buf,sizeof(char),500,fp);
pclose(fp);
return 0; } 運行結果截圖:
推薦訪問: 實驗 報告 unix上一篇:無碳小車實驗報告
下一篇:高校副職個人述職述廉述學述法報告
同志們:今天這個大會,是市委全面落實黨要管黨、從嚴治黨要求的一項重大舉措,也是對縣市區委書記履行基層黨建工作第一責任人情況的一次集中檢閱,同時是對全市基層黨建工作的一次再部署、再落實的會議。前面,**
***年,我認真履行領班子、帶隊伍、抓黨員、保穩定的基層黨建工作思路,以學習貫徹習近平新時代中國特色社會主義思想和黨的十九大歷次全會精神為主線,以市局基層黨建工作考核細則為落腳點,落實全面從嚴治黨主體
根據會議安排,現將2022年履行抓基層黨建工作職責情況報告如下:一、履職工作特色和亮點1 突出政治建設,著力在思想認識上提高。牢固樹立抓黨建就是抓政績的理念,以“黨建工作抓引領、社區治理求突破,為民服
2022年以來,在**黨委的正確領導下,堅持以習近平新時代中國特色社會主義思想為指導,深入學習宣傳貫徹黨的二十大精神,以黨建工作為統領,扎實開展夯實“三個基本”活動,以“四化四力”行動為抓手,聚力創建
各位領導,同志們:根據會議安排,現就2022年度抓基層黨建工作情況匯報如下:一、主要做法及成效(一)強化政治引領。一是不斷強化理論武裝。堅持通過黨組會、中心組學習會和“三會一課”,第一時間、第一議題學
2022年度抓基層黨建工作述職報告按照黨委工作部署,現將本人2022年度抓基層黨建工作情況報告如下:一、2022年度抓基層黨建工作情況(一)旗幟鮮明講政治將旗幟鮮明講政治放在全局發展首要位置,積極開展
2022年,是我在數計系黨總支書記這個新崗位上度過的第一個完整的工作年度。回首一年來在校黨委的正確領導下,與數計系領導班子和全體師生共同走過的日子,艱辛歷歷在目,收獲溫潤心田。作為黨總支書記,我始終牢
按照考核要求,現將本人一年來,作為統戰部長履行職責、廉潔自律等方面情況報告如下:一、著眼增強政治素質,不斷深化理論學習堅持把旗幟鮮明講政治作為履職從政的第一位要求,帶領統戰系統干部堅決擁護“兩個確立”
**年,緊緊圍繞黨工委、管委會的決策部署,全體人員團結協作、凝心聚力,緊扣黨工委“**”基本工作思路,全力開拓進取,認真履職盡責,圓滿完成各項工作任務。一、個人思想政治狀況檸檬文苑www bgzjy
按照縣委關于開展抓基層黨建述職評議會議的有關要求,經請示縣委組織部同意,今天,我們在此召開2022年度基層黨組織書記抓基層黨建述職評議會議。1 首先,請**黨委書記,**同志述職。**黨委能夠主動研究