在线亚洲黄色-在线亚洲观看-在线亚洲电影-在线亚洲成人-岛国大片在线观看免费版-岛国大片在线播放高清

Linux環境進程間通信管道及有名管道1

導讀管道及有名管道;在本系列序中作者概述了linux進程間通信的幾種主要手段。其中管道和有名管道是最早的進程間通信機制之一,管道可用于具有親緣關系進程間的通信,有名管道克服了管道沒有名字的限制,因此,除具有管道所具有的功能外,它還允許無親緣關系進程間的通信。認清管道和有名管道的讀寫規則是在程序中應用它們的關鍵,本文在詳細討論了管道和有名管道的通信機制的基礎上,用實例對其讀寫規則進行了程序驗證,這樣做有利于增強讀者對讀寫規則的感性認識,同時也提供了應用范例。1、管道概述及相關API應用。1.1管道相關的關鍵概念。管道是Linux支持的最初UnixIPC形式之一,具有以下特點。管道是半雙工的,數據只能向一個方向流動;需要雙方通信時,需要建立起兩個管道。

系統大全為您提供管道及有名管道在本系列序中作者概述了linux進程間通信的幾種主要手段。其中管道和有名管道是最早的進程間通信機制之一,管道可用于具有親緣關系進程間的通信,有名管道克服了管道沒有名字的限制,因此,除具有管道所具有的功能外,它還允許無親緣關系進程間的通信。認清管道和有名管道的讀寫規則是在程序中應用它們的關鍵,本文在詳細討論了管道和有名管道的通信機制的基礎上,用實例對其讀寫規則進行了程序驗證,這樣做有利于增強讀者對讀寫規則的感性認識,同時也提供了應用范例。1、管道概述及相關API應用1.1管道相關的關鍵概念管道是Linux支持的最初UnixIPC形式之一,具有以下特點:管道是半雙工的,數據只能向一個方向流動;需要雙方通信時,需要建立起兩個管道;只能用于父子進程或者兄弟進程之間(具有親緣關系的進程);單獨構成一種獨立的文件系統:管道對于管道兩端的進程而言,就是一個文件,但它不是普通的文件,它不屬于某種文件系統,而是自立門戶,單獨構成一種文件系統,并且只存在與內存中。數據的讀出和寫入:一個進程向管道中寫的內容被管道另一端的進程讀出。寫入的內容每次都添加在管道緩沖區的末尾,并且每次都是從緩沖區的頭部讀出數據。1.2管道的創建:#includeintpipe(intfd[2])該函數創建的管道的兩端處于一個進程中間,在實際應用中沒有太大意義,因此,一個進程在由pipe()創建管道后,一般再fork一個子進程,然后通過管道實現父子進程間的通信(因此也不難推出,只要兩個進程中存在親緣關系,這里的親緣關系指的是具有共同的祖先,都可以采用管道方式來進行通信)。1.3管道的讀寫規則:管道兩端可分別用描述字fd[0]以及fd[1]來描述,需要注意的是,管道的兩端是固定了任務的。即一端只能用于讀,由描述字fd[0]表示,稱其為管道讀端;另一端則只能用于寫,由描述字fd[1]來表示,稱其為管道寫端。如果試圖從管道寫端讀取數據,或者向管道讀端寫入數據都將導致錯誤發生。一般文件的I/O函數都可以用于管道,如close、read、write等等。從管道中讀取數據:如果管道的寫端不存在,則認為已經讀到了數據的末尾,讀函數返回的讀出字節數為0;當管道的寫端存在時,如果請求的字節數目大于PIPE_BUF,則返回管道中現有的數據字節數,如果請求的字節數目不大于PIPE_BUF,則返回管道中現有數據字節數(此時,管道中數據量小于請求的數據量);或者返回請求的字節數(此時,管道中數據量不小于請求的數據量)。注:(PIPE_BUF在include/linux/limits.h中定義,不同的內核版本可能會有所不同。Posix.1要求PIPE_BUF至少為512字節,redhat7.2中為4096)。關于管道的讀規則驗證:/***************readtest.c***************/#include#include向管道中寫入數據:向管道中寫入數據時,linux將不保證寫入的原子性,管道緩沖區一有空閑區域,寫進程就會試圖向管道寫入數據。如果讀進程不讀走管道緩沖區中的數據,那么寫操作將一直阻塞。注:只有在管道的讀端存在時,向管道中寫入數據才有意義。否則,向管道中寫入數據的進程將收到內核傳來的SIFPIPE信號,應用程序可以處理該信號,也可以忽略(默認動作則是應用程序終止)。對管道的寫規則的驗證1:寫端對讀端存在的依賴性??以上就是系統大全給大家介紹的如何使的方法都有一定的了解了吧,好了,如果大家還想了解更多的資訊,那就趕緊點擊系統大全官網吧。??本文來自系統大全http:///如需轉載請注明!

為你推薦
資訊專欄
熱門視頻
相關推薦
Linux下常用的gcc參數 如何在win8電腦中關閉IE瀏覽器的兼容性視圖設置 如何解決Windows7無法識別光驅的問題 Win81系統下使用administrator管理員賬戶登陸的方法 linux編譯內核及添加系統調用1 linux查看文件時間精確到秒 Win81無法退出家庭組選擇退出時提示無法正常退 Windows8110升級補丁導致Windows資源管理器停止響應 linux網卡配置詳解 win8系統輸入法出現卡死無法輸入中文怎么辦 小記IptabLes和IptabLex病毒清理過程3 Win8平板電腦設置WIFI上網方法 Windows8怎么樣加速關機 辛星整理Linux部分常用命令 Linux下設置環境變量各配置文件的區別 win8qq如何下載 linux掛載硬盤報錯youmustspecifythefilesystemtyp Linux命令之后臺運行nohup linux關于進程process LinuxShell中的判斷結構 實用教程ArchLinux安裝詳解 Linux下自動備份文件到遠程FTP服務器并刪除指定日 騰訊視頻如何設置定時關機騰訊視頻啟用定時 5分鐘學會Linux windows10新功能 linux下vi編輯器命令入門 linux下安裝使用jprofiler8tomcat Win8系統安裝Foxmail后無法發送郵件怎么辦如何 如何在windows7中進行鼠標相關設置 Linux系統之間拷貝文件的技巧總結 正在經歷變革的Linux系統管理員技能 linux中exit和exit區別 linux學習之進程線程和程序 WPS文字怎么對字體大小修改WPS文字對字體大小修 Nginx設置目錄保護防盜鏈限速多域名的方法 linux下強制位和冒險位介紹SUIDSGIDSTICKY Win8怎么樣設置是否顯示最近打開的文件或程序 Win8系統中怎么樣快速卸載應用程序 linux環境中怎么配置中文輸入法 星期二更新遇藍屏Win81撤銷補丁
Top 主站蜘蛛池模板: 亚洲 欧美 日韩 另类 | 亚洲欧美国产精品 | 国产精品免费观看视频 | 国内精品久久久久影院网站 | 亚洲伦理 | 在线观看精品国产 | 一级毛片免费下载 | 99国产精品高清一区二区二区 | 国产一二三区在线观看 | 亚洲欧洲中文字幕 | 亚洲国产精品二区久久 | 国产成人久久精品二区三区牛 | 日本欧美国产精品第一页久久 | 亚洲视频在线播放 | 日韩综合图区 | 午夜在线观看免费视频 | 成人精品一区二区激情 | 欧美日韩一区二区三区在线播放 | 一97日本道伊人久久综合影院 | 在线观看视频一区二区三区 | 国产在线视频资源 | 青青青久久久 | 亚洲欧美日韩中另类在线 | 日韩va亚洲va欧美va浪潮 | 亚韩在线| 欧美日韩网址 | 91精品一区二区三区在线播放 | 日本久久香蕉一本一道 | 亚洲欧美日韩在线2020 | 黑人群性xxx| 亚洲欧美在线免费观看 | 欧美干 | 韩国中文字幕 | 国产在线成人一区二区三区 | 欧美国产第一页 | 欧美午夜影院 | 最新国产在线视频 | 亚洲 欧美 手机 在线观看 | 综合婷婷 | 欧美一区二 | 国产第4页 |