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

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

系統(tǒng) Linux
月黑風(fēng)高夜,突然聽得咣當(dāng)一聲,Web服務(wù)器的目錄下冒出了兩個(gè)文件,弄出了不小的聲響。這兩個(gè)家伙一胖一瘦,鬼鬼祟祟,潛入這臺(tái)計(jì)算機(jī),不知要搞什么名堂。

[[413254]]

月黑風(fēng)高夜,突然聽得咣當(dāng)一聲,Web服務(wù)器的目錄下冒出了兩個(gè)文件,弄出了不小的聲響。這兩個(gè)家伙一胖一瘦,鬼鬼祟祟,潛入這臺(tái)計(jì)算機(jī),不知要搞什么名堂。

“二弟,一會(huì)兒咱們按照計(jì)劃好的運(yùn)行起來(lái),分頭行事,你等我信號(hào),拿到數(shù)據(jù)后趕緊撤”,胖子對(duì)瘦子說(shuō)到。

“老大,這地方我不熟悉,我怎么等你信號(hào)?咱們得想個(gè)聯(lián)系方式,一會(huì)兒通信使用”,瘦子說(shuō)到。

“這個(gè)不用擔(dān)心,主人都交代好了”,胖子一邊說(shuō),一邊從背后拿出一本 《Linux進(jìn)程間通信手冊(cè)》 翻了起來(lái)。

信號(hào)

翻開手冊(cè)的第一頁(yè),上面寫著:信號(hào)——Signal,兩個(gè)家伙開始認(rèn)真研究起來(lái)。

片刻之后,胖子程序說(shuō)道:“唉,這個(gè)不行,往后翻吧!”

瘦子程序不解,問(wèn)道:“咋就不行啦?”

“你看這里,手冊(cè)上說(shuō)了,信號(hào)是Linux上的一種軟中斷通信機(jī)制,可以向指定進(jìn)程發(fā)送通知,總共有64種信號(hào),不過(guò)這個(gè)信號(hào)只能作為通知使用,沒辦法傳輸數(shù)據(jù)”

“沒法傳輸數(shù)據(jù)?那這玩意有什么用?”

“還是有用啊,可以通知某個(gè)進(jìn)程發(fā)生了什么事件,比如kill命令就是利用這個(gè)信號(hào)來(lái)告知進(jìn)程退出從而實(shí)現(xiàn)殺進(jìn)程的效果的”

“原來(lái)如此”,瘦子程序若有所思的點(diǎn)了點(diǎn)頭,此時(shí)胖子已經(jīng)翻到了手冊(cè)的第二頁(yè)。

socket

“你看,手冊(cè)上寫了,可以用socket”,胖子說(shuō)到。

“socket?那不是網(wǎng)絡(luò)通信使用的嗎?”,瘦子有些疑惑。

“是啊,不過(guò)咱們一樣可以用來(lái)在本地計(jì)算機(jī)通信,把連接的IP地址換成127.0.0.1就行了”

“感覺有點(diǎn)太招搖了,咱們計(jì)算機(jī)內(nèi)部進(jìn)程通信,數(shù)據(jù)還要經(jīng)過(guò)網(wǎng)卡,很容易被發(fā)現(xiàn)的!”

“不會(huì)不會(huì),手冊(cè)上說(shuō)了,127.0.0.1是本地回環(huán)地址,數(shù)據(jù)在協(xié)議棧就進(jìn)行轉(zhuǎn)發(fā)了,根本不會(huì)到達(dá)網(wǎng)卡”

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

“嗯,讓我看看···手冊(cè)上說(shuō),可以在虛擬的回環(huán)網(wǎng)卡lo上抓到數(shù)據(jù)”

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

聽瘦子這么一說(shuō),胖子倒也覺得有理,便在手冊(cè)上繼續(xù)翻了起來(lái)。

匿名管道

“哎,有了有了,這個(gè)叫匿名管道的,聽起來(lái)就比較隱秘,應(yīng)該不會(huì)被發(fā)現(xiàn)。”

瘦子接過(guò)手冊(cè),看了起來(lái)。

這倆盯著手冊(cè)上的兩個(gè)圖研究了半天,總算弄明白了,所謂匿名管道不過(guò)是內(nèi)核中的一段緩沖區(qū),提供了讀寫兩個(gè)口子,通過(guò)fork創(chuàng)建子進(jìn)程后,子進(jìn)程繼承了父進(jìn)程的管道信息,兩邊只要約定好,一個(gè)讀,一個(gè)寫,就能實(shí)現(xiàn)通信了。

 

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

“看起來(lái)挺靠譜,就這么干!”,二人達(dá)成了一致。

胖子程序率先運(yùn)行起來(lái),隨后創(chuàng)建了兩個(gè)管道,一個(gè)用來(lái)發(fā)送消息,一個(gè)用來(lái)接收消息。接著執(zhí)行fork,將瘦子程序也運(yùn)行了起來(lái)。

時(shí)間過(guò)的很快,轉(zhuǎn)眼已是深夜,隨著計(jì)算機(jī)被關(guān)掉,兩個(gè)家伙的進(jìn)程也都退出了。

半夜無(wú)人之際,硬盤中這兩個(gè)家伙開始吵起來(lái)了。

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

“嗨!別提了,主人給我寫的程序有bug,今天運(yùn)行的時(shí)候不小心崩潰了,等我再次起來(lái)時(shí),發(fā)現(xiàn)管道不見了,什么情況啊?”,瘦子程序說(shuō)完嘆了一口氣。

“那肯定不行,這匿名管道需要有親緣關(guān)系的進(jìn)程繼承后才能通信,你用別的方式運(yùn)行起來(lái),肯定看不到我創(chuàng)建的管道啊!”

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

胖子程序又掏出了手冊(cè),翻了起來(lái)。

消息隊(duì)列

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

“命名管道?跟匿名管道有什么區(qū)別嗎?”

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

“那消息隊(duì)列又是什么東西?”

“額,讓我看一下”

“給我也看看”,瘦子程序湊了上去,一起看了起來(lái)。

過(guò)了一會(huì)兒,瘦子程序說(shuō)道:“我看明白了,這消息隊(duì)列是內(nèi)核中的一個(gè)消息鏈表,按照消息塊組織,比那管道全是二進(jìn)制數(shù)據(jù)流堆積在一起好用多了”

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

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

“好,就這么干!”

兩個(gè)家伙一拍即合,準(zhǔn)備第二天再大干一場(chǎng)。

第二天,計(jì)算機(jī)啟動(dòng)后,它們又偷偷的運(yùn)行了起來(lái)。

這一次用上了消息隊(duì)列,聯(lián)絡(luò)起來(lái)方便了不少。

共享內(nèi)存

不知過(guò)了多久,那瘦子進(jìn)程總算來(lái)信兒了,胖子從消息隊(duì)列中取出一看,只見上面寫著:

“老大,我拿到了數(shù)據(jù)了,需要你來(lái)處理一下,不過(guò)這數(shù)據(jù)體量有點(diǎn)大,用管道和消息隊(duì)列傳輸效率都太低了,有無(wú)辦法快速把數(shù)據(jù)傳送給你,盼速回。”

胖子進(jìn)程心里一陣歡喜,數(shù)據(jù)拿到了,總算可以回去交差了。不過(guò)怎么樣快速把數(shù)據(jù)傳送過(guò)來(lái)呢,心里又犯起了嘀咕。

此時(shí),胖子進(jìn)程又一次拿出手冊(cè),翻到了最后一頁(yè),發(fā)現(xiàn)了一個(gè)叫“共享內(nèi)存”的東西,仿佛像抓住了救命稻草一般,仔細(xì)研究了起來(lái)。

片刻之后,胖子的臉上露出了笑容,隨后寫下了一條消息給瘦子進(jìn)程發(fā)送了過(guò)去。

卻說(shuō)這瘦子進(jìn)程正在焦急等待消息中,收到老大的回信后,趕緊取出來(lái)看:

二弟,主人的手冊(cè)中提到,可以使用共享內(nèi)存進(jìn)行進(jìn)程間通信。

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

不過(guò)為了防止咱們一起讀寫發(fā)生沖突,需要配合信號(hào)量一起使用,用它來(lái)實(shí)現(xiàn)進(jìn)程間同步。

具體的使用方法如下:

······

······

盼速回!

瘦子進(jìn)程看完,心中大喜!趕緊通過(guò)消息隊(duì)列發(fā)了一封回信。

隨后,通過(guò)老大交代的方法開始操作起來(lái),打開共享、映射掛載一氣呵成。再接著,將數(shù)據(jù)一股腦兒寫到了共享的內(nèi)存頁(yè)面中。

大功告成之后,便退出了進(jìn)程,按照計(jì)劃準(zhǔn)備撤退,卻不見了胖子的蹤跡,既無(wú)進(jìn)程也無(wú)文件。

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

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

卻看那文件目錄之下,只留了一卷《Linux進(jìn)程間通信手冊(cè)》···

本文轉(zhuǎn)載自微信公眾號(hào)「編程技術(shù)宇宙」,可以通過(guò)以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系編程技術(shù)宇宙公眾號(hào)。

 

責(zé)任編輯:武曉燕 來(lái)源: 編程技術(shù)宇宙
相關(guān)推薦

2025-02-11 09:17:57

2024-02-04 16:14:38

線程開發(fā)

2020-06-09 08:06:31

RocketMQ消息耗時(shí)

2022-11-13 10:07:22

SpringSpringBoot

2014-04-29 15:08:26

PostgresMongoDB

2019-11-21 10:20:05

SQL錯(cuò)誤用法數(shù)據(jù)庫(kù)

2022-03-24 14:42:19

Python編程語(yǔ)言

2020-10-13 18:35:21

數(shù)據(jù)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數(shù)據(jù)庫(kù)OOM 異常

2017-09-13 14:38:55

USB散熱器機(jī)箱

2017-02-10 09:51:23

2017-06-22 09:45:58

阿里云GN5實(shí)例深度學(xué)習(xí)

2024-11-08 15:09:59

2022-12-15 16:28:10

訓(xùn)練模型

2021-03-03 10:06:36

Windows 10Windows微軟

2011-07-20 10:02:01

Xcode cocoa 窗口

2009-04-22 15:16:30

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 精品国产1区2区3区 在线国产视频 | 亚洲欧美在线免费观看 | 日本三级电影在线免费观看 | 国产精品福利网站 | 日韩在线欧美 | 久久久成人动漫 | 国产一级在线观看 | 亚洲综合资源 | 蜜桃传媒av| 欧美日韩一区二区三区视频 | 成人老司机| 亚洲精品一区在线观看 | 在线一区二区三区 | 亚洲精品视频久久 | 欧美一区二区黄 | 欧美日韩精品专区 | 在线观看毛片网站 | caoporn视频 | 粉嫩粉嫩芽的虎白女18在线视频 | 国产一级电影在线 | 久久免费精品 | 国产成人精品一区二区三区视频 | 超碰国产在线 | 羞羞网站免费观看 | 久久精品在线免费视频 | 狠狠色狠狠色综合日日92 | 亚洲视频在线一区 | 欧美日产国产成人免费图片 | 久久久91精品国产一区二区三区 | 波多野结衣一二三区 | 久久777| 99精品99 | 一级毛片免费视频 | av二区三区| 天天操人人干 | 999久久久久久久久6666 | 日韩精品一区二区三区中文字幕 | 成人精品一区二区户外勾搭野战 | 久久久久久中文字幕 | 一区二区三区四区在线免费观看 | 婷婷色国产偷v国产偷v小说 |