成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

就很凸然,電腦里多出了一個文件···

系統 Linux
月黑風高夜,突然聽得咣當一聲,Web服務器的目錄下冒出了兩個文件,弄出了不小的聲響。這兩個家伙一胖一瘦,鬼鬼祟祟,潛入這臺計算機,不知要搞什么名堂。

[[413254]]

月黑風高夜,突然聽得咣當一聲,Web服務器的目錄下冒出了兩個文件,弄出了不小的聲響。這兩個家伙一胖一瘦,鬼鬼祟祟,潛入這臺計算機,不知要搞什么名堂。

“二弟,一會兒咱們按照計劃好的運行起來,分頭行事,你等我信號,拿到數據后趕緊撤”,胖子對瘦子說到。

“老大,這地方我不熟悉,我怎么等你信號?咱們得想個聯系方式,一會兒通信使用”,瘦子說到。

“這個不用擔心,主人都交代好了”,胖子一邊說,一邊從背后拿出一本 《Linux進程間通信手冊》 翻了起來。

信號

翻開手冊的第一頁,上面寫著:信號——Signal,兩個家伙開始認真研究起來。

片刻之后,胖子程序說道:“唉,這個不行,往后翻吧!”

瘦子程序不解,問道:“咋就不行啦?”

“你看這里,手冊上說了,信號是Linux上的一種軟中斷通信機制,可以向指定進程發送通知,總共有64種信號,不過這個信號只能作為通知使用,沒辦法傳輸數據”

“沒法傳輸數據?那這玩意有什么用?”

“還是有用啊,可以通知某個進程發生了什么事件,比如kill命令就是利用這個信號來告知進程退出從而實現殺進程的效果的”

“原來如此”,瘦子程序若有所思的點了點頭,此時胖子已經翻到了手冊的第二頁。

socket

“你看,手冊上寫了,可以用socket”,胖子說到。

“socket?那不是網絡通信使用的嗎?”,瘦子有些疑惑。

“是啊,不過咱們一樣可以用來在本地計算機通信,把連接的IP地址換成127.0.0.1就行了”

“感覺有點太招搖了,咱們計算機內部進程通信,數據還要經過網卡,很容易被發現的!”

“不會不會,手冊上說了,127.0.0.1是本地回環地址,數據在協議棧就進行轉發了,根本不會到達網卡”

“那抓包能抓到咱們通信嗎?”

“嗯,讓我看看···手冊上說,可以在虛擬的回環網卡lo上抓到數據”

“還是算了吧,咱干這事得悄悄進行,不能留下痕跡,你再看看還有沒有別的招”

聽瘦子這么一說,胖子倒也覺得有理,便在手冊上繼續翻了起來。

匿名管道

“哎,有了有了,這個叫匿名管道的,聽起來就比較隱秘,應該不會被發現。”

瘦子接過手冊,看了起來。

這倆盯著手冊上的兩個圖研究了半天,總算弄明白了,所謂匿名管道不過是內核中的一段緩沖區,提供了讀寫兩個口子,通過fork創建子進程后,子進程繼承了父進程的管道信息,兩邊只要約定好,一個讀,一個寫,就能實現通信了。

 

“老大,這匿名管道是單向的,咱們要通信,得整兩根管道才行,一個你寫我讀,一個我寫你讀”

“看起來挺靠譜,就這么干!”,二人達成了一致。

胖子程序率先運行起來,隨后創建了兩個管道,一個用來發送消息,一個用來接收消息。接著執行fork,將瘦子程序也運行了起來。

時間過的很快,轉眼已是深夜,隨著計算機被關掉,兩個家伙的進程也都退出了。

半夜無人之際,硬盤中這兩個家伙開始吵起來了。

“你是怎么回事?我給你發消息怎么也不回,害得我一連發了一堆消息,最后把管道塞滿了,我都阻塞了!”,胖子程序氣憤地說道。

“嗨!別提了,主人給我寫的程序有bug,今天運行的時候不小心崩潰了,等我再次起來時,發現管道不見了,什么情況啊?”,瘦子程序說完嘆了一口氣。

“那肯定不行,這匿名管道需要有親緣關系的進程繼承后才能通信,你用別的方式運行起來,肯定看不到我創建的管道啊!”

“這匿名管道用起來太麻煩了,看看還有沒有別的通信方式?”

胖子程序又掏出了手冊,翻了起來。

消息隊列

“有了有了,這里還寫了兩種方式:命名管道、消息隊列”,胖子程序說到。

“命名管道?跟匿名管道有什么區別嗎?”

“命名管道有名字,有了名字就不限有親緣關系的進程才能通信了,只要使用這個名字,都能打開管道通信,這下你就算掛了重啟也能跟我聯系上了”

“那消息隊列又是什么東西?”

“額,讓我看一下”

“給我也看看”,瘦子程序湊了上去,一起看了起來。

過了一會兒,瘦子程序說道:“我看明白了,這消息隊列是內核中的一個消息鏈表,按照消息塊組織,比那管道全是二進制數據流堆積在一起好用多了”

“有道理,而且這消息還可以指定類型,這樣咱們倆就不用弄兩個管道,一個消息隊列就行了,咱們倆使用不同的消息類型,可省了不少事兒啊!”

“那咱們就用消息隊列吧,別用那什么管道了”

“好,就這么干!”

兩個家伙一拍即合,準備第二天再大干一場。

第二天,計算機啟動后,它們又偷偷的運行了起來。

這一次用上了消息隊列,聯絡起來方便了不少。

共享內存

不知過了多久,那瘦子進程總算來信兒了,胖子從消息隊列中取出一看,只見上面寫著:

“老大,我拿到了數據了,需要你來處理一下,不過這數據體量有點大,用管道和消息隊列傳輸效率都太低了,有無辦法快速把數據傳送給你,盼速回。”

胖子進程心里一陣歡喜,數據拿到了,總算可以回去交差了。不過怎么樣快速把數據傳送過來呢,心里又犯起了嘀咕。

此時,胖子進程又一次拿出手冊,翻到了最后一頁,發現了一個叫“共享內存”的東西,仿佛像抓住了救命稻草一般,仔細研究了起來。

片刻之后,胖子的臉上露出了笑容,隨后寫下了一條消息給瘦子進程發送了過去。

卻說這瘦子進程正在焦急等待消息中,收到老大的回信后,趕緊取出來看:

二弟,主人的手冊中提到,可以使用共享內存進行進程間通信。

我準備了幾個內存頁面,你將它們映射到你的進程地址空間中,咱們就能共享這一片內存,你寫的數據我能立即看到,我寫的你也能立即看到,雖然咱們各自讀寫的地址不同,但實際上是訪問的同一片物理內存頁面,比管道和消息隊列效率高多了!

不過為了防止咱們一起讀寫發生沖突,需要配合信號量一起使用,用它來實現進程間同步。

具體的使用方法如下:

······

······

盼速回!

瘦子進程看完,心中大喜!趕緊通過消息隊列發了一封回信。

隨后,通過老大交代的方法開始操作起來,打開共享、映射掛載一氣呵成。再接著,將數據一股腦兒寫到了共享的內存頁面中。

大功告成之后,便退出了進程,按照計劃準備撤退,卻不見了胖子的蹤跡,既無進程也無文件。

“這家伙難道拋下我一個人跑了?”

正想著,突然“嗡”的一聲,瘦子的程序文件也沒了。

卻看那文件目錄之下,只留了一卷《Linux進程間通信手冊》···

本文轉載自微信公眾號「編程技術宇宙」,可以通過以下二維碼關注。轉載本文請聯系編程技術宇宙公眾號。

 

責任編輯:武曉燕 來源: 編程技術宇宙
相關推薦

2025-02-11 09:17:57

2024-02-04 16:14:38

線程開發

2020-06-09 08:06:31

RocketMQ消息耗時

2022-11-13 10:07:22

SpringSpringBoot

2014-04-29 15:08:26

PostgresMongoDB

2019-11-21 10:20:05

SQL錯誤用法數據庫

2022-03-24 14:42:19

Python編程語言

2020-10-13 18:35:21

數據JuliaPython

2023-03-28 16:37:38

論文視頻

2015-09-17 09:42:00

2021-05-27 07:54:21

JavaStateAQS

2024-08-14 08:35:38

sql數據庫OOM 異常

2017-09-13 14:38:55

USB散熱器機箱

2017-02-10 09:51:23

2017-06-22 09:45:58

阿里云GN5實例深度學習

2024-11-08 15:09:59

2022-12-15 16:28:10

訓練模型

2021-03-03 10:06:36

Windows 10Windows微軟

2011-07-20 10:02:01

Xcode cocoa 窗口

2009-04-22 15:16:30

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲在线 | 欧美男人天堂 | 欧美日本韩国一区二区三区 | 一区二区三区四区电影视频在线观看 | 日日日视频 | 黄色三级免费网站 | 欧美三级免费观看 | 久久一二 | 91免费福利在线 | 国产乱码精品一区二区三区五月婷 | 午夜视频一区二区三区 | 成人精品一区二区 | 成在线人视频免费视频 | 欧美日韩亚洲一区 | 久久国内精品 | 国产在线a | 精品在线观看一区二区 | 91精品国产色综合久久不卡98口 | 亚洲五码久久 | 欧美成人久久 | 狠狠撸在线视频 | 久久影院一区 | 综合自拍 | 中文字幕的av | 在线免费观看日本视频 | cao在线| 成人一级毛片 | 人人射人人草 | 婷婷色国产偷v国产偷v小说 | 欧美日韩精品久久久免费观看 | 欧美性猛交 | 久草色视频 | 草草草草视频 | 天天看片天天干 | 亚洲精品一区二区在线观看 | 午夜在线 | 色视频在线播放 | 中文字幕av网 | 国内精品在线视频 | 91影院在线观看 | 精品乱子伦一区二区三区 |