linux 實(shí)驗(yàn)五 命名管道實(shí)驗(yàn)_第1頁(yè)
linux 實(shí)驗(yàn)五 命名管道實(shí)驗(yàn)_第2頁(yè)
linux 實(shí)驗(yàn)五 命名管道實(shí)驗(yàn)_第3頁(yè)
linux 實(shí)驗(yàn)五 命名管道實(shí)驗(yàn)_第4頁(yè)
linux 實(shí)驗(yàn)五 命名管道實(shí)驗(yàn)_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

實(shí)驗(yàn)五命名管道實(shí)驗(yàn)研究mkfifo命令,在當(dāng)前目錄下創(chuàng)建一個(gè)myfifo的命名管道。(1)程序流程圖:終端中輸入:1用ls命令查看當(dāng)前目錄是)mkfifo否產(chǎn)生了名為fifo_channel的管道。fifo_channel(2)運(yùn)行結(jié)果:guest-jcklN6nrx-MUC:*mkftfoftfo_channel3ueSt^kkIN6n@d2H^HJCt^-$Isexamples-desktop mkfifo,c f'ysystemrC 公共的 徹救 女村ftfo_channel nysystem nysystem.c-援板 國(guó)片 TH 桌IIIguest-xkIN6n^dzM-rtJC!-■?|2、用mkfifo()函數(shù)實(shí)現(xiàn)相同的功能。(1)程序流程圖:mode用來(lái)簡(jiǎn)歷文件的權(quán)限,該函數(shù)成功則返回0,失敗時(shí)返回-1,并且設(shè)置errno.創(chuàng)建fifo文件mode用來(lái)簡(jiǎn)歷文件的權(quán)限,該函數(shù)成功則返回0,失敗時(shí)返回-1,并且設(shè)置errno.用的是函數(shù)mkfifo()(2)程序源代碼:/*mk_fifo.c*/?tnclude^stdi。?b工超In匚Itide^fiys/typew?h>Pinclude^sys/stat『h>Sftncludecfcntl..#inrludecstdiouh>Bdeftnefifo_channelR./ftfo_chann.eli"tntmaln(tntargc3char*argv[])(tftmkfife(ftfo_channel.CJT^T)-1)〃如果創(chuàng)建后返回-1則顯示錯(cuò)誤信(perrort"cannottreatftfochannel");return1;了洪畋返回1}|return0; 〃成功返回日(3)運(yùn)行結(jié)果:flfo_chanridflfo_channellguest-xkIN6n^dzx gcc.-oi'ikfifonkfifo.cgue5t-xklN6n^dzx-l*LJC; ./nkftfQtannottreatftfocharintl:Fileexists片皆?1

圖女下樂(lè)面昔桌guest-xkIMn*dzM 片皆?1

圖女下樂(lè)面昔桌examples.desktopnkftfo ntysystem 公共的FtIo_channel nkfifa.c nysystefflut 模板mkftfo,5mysysten.5觀翱g戲M-xklNGn加疏-MUOS|3、編寫一個(gè)服務(wù)器程序server.c,實(shí)現(xiàn)從管道m(xù)yfifo中讀取內(nèi)容,并在終端中顯示出來(lái)。打開一個(gè)命令行終端,運(yùn)行server,然后打開另一個(gè)命令行終端,使用“cp文件1myfifo”命令把文件1的內(nèi)容輸出到myfifo,測(cè)試server.c的功能。(1)程序流程圖:創(chuàng)建管道,打開

管道,讀出數(shù)據(jù)利用命令創(chuàng)建管道,打開

管道,讀出數(shù)據(jù)利用命令cp,把a(bǔ)的內(nèi)容復(fù)制到管道中(2)程序源代碼:Sinclude^stdto,hjjftftEl.udi'cs.ys/types,h>rftncliide-isys/stdt.h>ffincludecfcntl.Ntfinrlude<stdic.h>^definehannel"./fifo_channel2"intnatnflntargc,char*ar^v[]){'Intfd;charrmsg[BUFSIZ];ifCnikftfo(ftfo_channel.,Ei777)Bi-1J{perror("carnotcreatfifochannel'1);return1;}fd=cpen(ftfo_channelt0_ROONL¥):tf(rd=1>(perror("cannotopentheftfo");] if(read(fd,rmsg,BUF5IZ)==-1){p-Errnr(processcartndtre白d fraptfIfo");return1;)elseprtntffreceivenessagefromfiffl:Ss\n"Rr_msg):return財(cái)}l運(yùn)行結(jié)果:Hfo£hanwhrifochannel?4、編寫客戶機(jī)程序,實(shí)現(xiàn)把指定文件輸出到Hfo£hanwhrifochannel?4、編寫客戶機(jī)程序,實(shí)現(xiàn)把指定文件輸出到myfifo的功能,從而實(shí)現(xiàn)和服務(wù)器程序的通信。測(cè)試該程序的功能。(1) 程序流程圖:基本同3,就不再畫了。(2) 程序源代碼:/*server2.c*/ffincludetstdlfl,tn types.h>ffi.(iclude<&ys/statrfi>fftncludecfcntl.BineLude<stdid“h>itdeflneflfo_channel",/f:tfo_channel4"tntnai.n(lntargc.char*argv[]){tntfd,fdl;Intnum;char[BUFSIZ];charbuffer[nur];IfCargcl=2){printfCcomnand:Ksftlenane\nnHargv[0']);return1[1//writethtmesssgetoth?flfo"創(chuàng)建命菩昔道ifCnkflfotftfo_channelb0T77)==-1){perrort"cannottreatfifochannel11);return1;}〃打開命名茴道寫入散據(jù)fd=apen(flfochanneI?0WRONLV);tf[fd==-l)(perror("carinotopenthefifo");)"打開5;寫入的文忤tf((fdi=open(crgw[1],o_roonly[))=='i){perror^''cannot。網(wǎng)「theffle\nn):retorn1;} num=read(fdljbuffer );//tft文件fdW的內(nèi)容buffer[nur】日L。M 〃向言道中與人數(shù)據(jù)*若返回T則顯示失跛If(wrtte(fdfbuffer,nin -1){peirrgrCprocesscannatwritedatatofifa"1);return1;)tlstprlrttf('serdmE?ssdge: jbuffer)j"否削顯示寫信息到管道成功rtturn0;(3)實(shí)驗(yàn)結(jié)果:V■ dzx@dzK-MUG:??T<rmlnal?K^dix-MlLlCs-$gcc-oserver^twnserwe

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論