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

坑人的“殺手”組織

開(kāi)發(fā) 開(kāi)發(fā)工具
我是一個(gè)進(jìn)程,一出生就被塞了一張長(zhǎng)長(zhǎng)的任務(wù)單,上面是密密麻麻的任務(wù)指令,像什么 mv 了, cp 了, while 了..... 我一個(gè)都看不懂。

 [[325911]]

我是一個(gè)進(jìn)程,一出生就被塞了一張長(zhǎng)長(zhǎng)的任務(wù)單,上面是密密麻麻的任務(wù)指令,像什么 mv 了, cp 了, while 了..... 我一個(gè)都看不懂。

人類(lèi)程序員告訴我這叫 shell 腳本,我的任務(wù)就是跑跑腿,到 shell 大街上找到能夠執(zhí)行這些指令的人,讓他們?nèi)?zhí)行。

這個(gè)活兒聽(tīng)起來(lái)并不復(fù)雜,我按照人類(lèi)的指示,進(jìn)入了 shell 大街。

初試身手

shell 大街上熱鬧非凡,各種進(jìn)程來(lái)來(lái)往往,兩旁的街道是大大小小、形形色色的門(mén)店,我左看右看,眼睛都不夠使了。

比如我旁邊這家店,招牌巨大,上面寫(xiě)著 【我們不生產(chǎn)文件,我們只是文件系統(tǒng)的搬運(yùn)工】,這是 “mv” 旗艦店。還有街口這家店,招牌也氣勢(shì)非凡:【你負(fù)責(zé)從 0 到 1,我搞定 1 到 100】,原來(lái)這家店專(zhuān)門(mén)負(fù)責(zé)抄錄備份文件,叫做 cp ,也是旗艦店。

我從懷里掏出任務(wù)單,看看我要干的活, 我希望指令是 mv 或者 cp,這樣我就可以去逛逛旁邊這兩家旗艦店了。

可是,第一條指令是 “pidof xyz”, 我環(huán)顧四周,怎么在 shell 大街上看不到 pidof 店鋪?

這時(shí)候街上的大喇叭響了:進(jìn)程管理局將于 4:30 下班,需要查詢進(jìn)程id的速速前往 shell 大街 0x37859 號(hào)。

下班真夠早的,我一溜小跑,來(lái)到 0x37859 號(hào),在辦事窗口小姐姐的幫助下查到了 “xyz” 的進(jìn)程id:8681, 按照要求,我把它記錄在了變量 $process_id 中。

殺手組織

這個(gè)工作看起來(lái)很簡(jiǎn)單嘛, 我馬上查看第二條指令,真是不看不知道,一看嚇一跳,這條指令是:

  1. kill $process_id 

我揉揉眼睛再確認(rèn)一下,沒(méi)錯(cuò),就是 kill , 那個(gè) $process_id 不就是我剛剛查出來(lái)的嗎?8681!沒(méi)想到查詢這個(gè) pid 的值居然是為了干掉這個(gè)進(jìn)程, 也不知道他做錯(cuò)了什么。

我還沒(méi)辦過(guò)這種差呢,kill,看這個(gè)名字這是個(gè)殺手組織吧,肯定都是殺進(jìn)程不眨眼的那種,太可怕了!

這個(gè)叫 kill 的店可真不好找,多虧 cp 旗艦店的小二給我指了一條路,我才來(lái)到這個(gè)店鋪門(mén)口, 我以為這里肯定是嚴(yán)密把守,門(mén)口會(huì)有彪形大漢站崗,沒(méi)想到只是一個(gè)平平常常的小店!門(mén)口掛著兩個(gè)隨風(fēng)飄揚(yáng)的大燈籠,上面寫(xiě)著:“送” “信”。

這就是 kill 門(mén)店?殺手組織的駐地就這樣?懷著忐忑的心情,我走進(jìn)店中。

出乎我的意料, 小二非常熱情,他馬上滿臉堆笑地迎上來(lái):“客官您要辦點(diǎn)什么業(yè)務(wù)呢,咱們這兒的信件是最全的,應(yīng)有盡有,任君挑選”。

看到墻上還貼著 "微笑服務(wù)” 四個(gè)字,我差點(diǎn)懷疑走錯(cuò)片場(chǎng)了,我把他拉到一邊,壓低聲音說(shuō):"我不是來(lái)送信的,我這次來(lái)是要?dú)⒁粋€(gè)進(jìn)程,你們能辦嗎?"

我一邊說(shuō),一邊做了一個(gè)殺頭的手勢(shì)。

小二看了看我的任務(wù)單,說(shuō)道:“客官是第一次來(lái)吧,你要辦的這個(gè)是常規(guī)業(yè)務(wù),我們最拿手了。不過(guò)你說(shuō)的這個(gè)殺進(jìn)程我們保證不了,小店只提供送信服務(wù), 這封信送出去,進(jìn)程能不能殺得掉就不歸我們管了。”

“你們不是負(fù)責(zé)殺人嗎?怎么和送信這種沒(méi)技術(shù)含量的業(yè)務(wù)扯到一起了?”

小二笑道:“這是外界對(duì)我們的誤解了,我們不是一個(gè)殺手組織, 我們的業(yè)務(wù)很單純,只負(fù)責(zé)送信給進(jìn)程。而且這封信還得通過(guò)內(nèi)核老大轉(zhuǎn)交呢!比如你這次要 kill 8681, 我們就會(huì)發(fā)送一封叫做 SIGTERM 的信,意思是終止進(jìn)程。”

小二邊給我解釋?zhuān)吿统鱿到y(tǒng)調(diào)用專(zhuān)用手機(jī)發(fā)送了一個(gè) "15 8681",這下我知道了, SIGTERM 對(duì)應(yīng)的信號(hào)值就是 15,小二通過(guò)系統(tǒng)調(diào)用發(fā)給了內(nèi)核。

“殺人” 的活兒就這么辦完了,我付了 3 塊的 CPU 幣, 滿懷疑慮地離開(kāi)了這個(gè)“送信”的店鋪。

死循環(huán)

下一個(gè)指令竟然是個(gè) while 循環(huán),它讓我隔一會(huì)兒就去進(jìn)程管理局查詢一下,直到 $process_id (也就是 8681 )不存在了才能執(zhí)行后續(xù)的任務(wù)。 我心里很清楚,這是要保證那個(gè)8681的進(jìn)程被殺死。

我一趟趟地往進(jìn)程管理局跑,累死個(gè)人了,可是這個(gè)進(jìn)程管理局的小姐姐每次都告訴我,這個(gè) 8681 號(hào)進(jìn)程活得好好的,正在shell大街的某個(gè)角落呼呼大睡呢!

肯定是“送信”的那個(gè)店小二把我騙了 !趁著 while 循環(huán)的間隙,我怒氣沖沖地回到了“送信”店鋪,質(zhì)問(wèn)小二為什么收了我的錢(qián)不干活!

店小二脾氣挺好:“我們送信,絕對(duì)不會(huì)出錯(cuò)的,但是,我們不能保證進(jìn)程被殺死。”

我說(shuō)到:“那你給我退錢(qián),我去找別的殺手。”

小二哈哈笑道:“客官有所不知,你到哪里都是一樣,對(duì)于 SIGTERM 信號(hào),一般內(nèi)核老大確實(shí)會(huì)干掉對(duì)應(yīng)進(jìn)程,但如果進(jìn)程提前打過(guò)招呼,留下了一個(gè)自己的 SIGTERM 處理函數(shù),那么按照約定老大就只會(huì)調(diào)用下這個(gè)函數(shù)。函數(shù)里面進(jìn)程也許會(huì)做一些掃尾工作再退出,也許壓根就不退出,繼續(xù)逍遙快活。甚至進(jìn)程還可以直接屏蔽掉這個(gè)信號(hào)呢。我猜 8681 號(hào)進(jìn)程就是如此,賴著不退出。”

我滿臉愁色:“那這樣不相當(dāng)于從生死簿上勾去姓名,長(zhǎng)生不老了嗎?!不管怎么樣,你得把它給殺掉!"

小二聞言露出了老江湖的笑容:“客官聽(tīng)說(shuō)過(guò)江湖傳言嗎?kill 一笑,生死難料,杠九一(安)排 ,世間白來(lái)。”

我若有所悟,連忙問(wèn)道: "杠九是什么意思,是 9 號(hào)信件嗎?"

小二聞言露出贊許的目光:“看來(lái)你還是挺機(jī)靈的,一點(diǎn)就通。9 號(hào)信件那就是大名鼎鼎的 SIGKILL 了。雖然大多數(shù)信件都允許進(jìn)程注冊(cè)自定義信件處理函數(shù),但有幾個(gè)特別的信件,例 SIGKILL 和 SIGSEGV 是不允許注冊(cè)處理函數(shù)的,一旦內(nèi)核老大收到 我們送的 SIGKILL 信號(hào),那就相當(dāng)于殺無(wú)赦,斬立決,手起刀落毫不遲疑的。一般用 kill 殺不掉的進(jìn)程,用上 kill -9 就可以干掉了。”

原來(lái)如此 !可是雖然知道了 SIGKILL ,但悲慘的是我只能按照任務(wù)單來(lái)執(zhí)行任務(wù),不能擅自更改為 kill -9 $process_id

天哪!難道我真的就被困在這里了嗎?!

定身法

生活不易,進(jìn)程嘆氣,我無(wú)精打采地準(zhǔn)備出門(mén),繼續(xù)去查詢進(jìn)程,估計(jì)進(jìn)程管理局的小姐姐都很煩我了,每次都問(wèn)同一個(gè)問(wèn)題。

就在我準(zhǔn)備邁出 kill 小店時(shí),怪事發(fā)生了,我動(dòng)不了了!就像是中了定身術(shù)一樣。

小二跑上前來(lái)看了看說(shuō) :“哈哈, 看來(lái)你被掛起了!”

我焦急地問(wèn):“說(shuō)清楚點(diǎn),什么是掛起呀?”

小二從柜臺(tái)拿出了一張信件清單給我看:“喏,看到這個(gè) SIGTSTP 沒(méi),它會(huì)讓進(jìn)程掛起,我們店也有這項(xiàng)業(yè)務(wù)的。估計(jì)是人類(lèi)程序員發(fā)現(xiàn)你遲遲沒(méi)有執(zhí)行下一個(gè)任務(wù),開(kāi)始調(diào)試了。只要他們按下 Ctrl+Z,就會(huì)發(fā)出 SIGTSTP ,內(nèi)核老大就把你掛起了。你小子還挺幸運(yùn)的,只是被掛起,上次有個(gè)進(jìn)程辦事出了點(diǎn)小差錯(cuò),直接就被人類(lèi)按下了 Ctrl+C,用 SIGINT 給干掉了。慢慢等著吧,人類(lèi)慢得很吶!”

在 kill 小店真是學(xué)了不少東西,真希望人類(lèi)程序員也能快點(diǎn)學(xué)會(huì)這些知識(shí),解救我于水火之中。

不過(guò)我顯然高估了人類(lèi),足足過(guò)了十幾秒,我才看到另一個(gè)進(jìn)程來(lái)到了 kill 小店中,他手中的任務(wù)單赫然寫(xiě)著 "kill -9 8681", 謝天謝地,人類(lèi)找到解決方法了。

又過(guò)了漫長(zhǎng)的好幾秒,我才感到身體一輕,又可以活動(dòng)了。

舒展下筋骨,我連忙跑到進(jìn)程管理局去查詢,這次查詢結(jié)果是 "查無(wú)此pid",哈哈,我終于可以擺脫這個(gè)循環(huán),繼續(xù)我任務(wù)單的下一條了。

尾聲

離開(kāi)之前,進(jìn)程管理局的小姐姐還告訴了我一個(gè)小道消息,原來(lái)這個(gè)害我不淺的 8681 進(jìn)程并不是故意忽略 SIGTERM 的,他注冊(cè)了一個(gè)信號(hào)處理函數(shù),打算打印一句 log 再退出,但在執(zhí)行的時(shí)候竟然死鎖了,據(jù)說(shuō)原因是打印函數(shù)不屬于異步信號(hào)安全的函數(shù),不能在信號(hào)處理時(shí)調(diào)用。

我管不了那么多了,趕緊去執(zhí)行下一個(gè)任務(wù),要不然又要被掛起了......

 

責(zé)任編輯:武曉燕 來(lái)源: 51CTO專(zhuān)欄
相關(guān)推薦

2024-09-11 21:37:15

2019-09-19 10:23:18

編程手機(jī)微信

2013-10-24 09:10:12

SDN技術(shù)SDN軟件定義網(wǎng)絡(luò)

2011-04-22 10:13:42

Cloud FoundAzure

2024-06-24 13:37:34

2016-10-24 22:57:05

2009-09-07 09:11:44

虛擬化LinuxLinux操作系統(tǒng)

2011-05-11 12:54:05

2019-03-27 08:32:26

邊緣計(jì)算網(wǎng)絡(luò)

2011-08-10 08:55:28

項(xiàng)目失敗

2013-04-12 09:47:43

數(shù)據(jù)中心網(wǎng)絡(luò)運(yùn)維管理數(shù)據(jù)中心維護(hù)

2019-07-03 13:29:06

人工智能深度學(xué)習(xí)機(jī)器學(xué)習(xí)

2011-08-08 09:53:22

云手機(jī)iPhone

2009-12-15 08:47:05

Windows 7系統(tǒng)特性

2024-05-24 11:44:54

2014-11-05 09:34:06

開(kāi)源監(jiān)測(cè)工具

2022-12-26 15:04:44

數(shù)據(jù)孤島數(shù)據(jù)管理

2010-01-15 09:43:49

Windows 7殺手

2014-12-01 15:20:36

微信點(diǎn)評(píng)商家

2020-10-10 08:58:30

辦公軟件
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 日韩成人精品一区二区三区 | 日韩精品人成在线播放 | 在线免费观看欧美 | www久久 | 日韩久久综合 | 国产精品无码久久久久 | 围产精品久久久久久久 | 久久精品在线播放 | av午夜激情| 亚洲成人一级片 | 日本免费一区二区三区四区 | 欧美亚洲国产一区二区三区 | 欧美一区二区三区在线观看视频 | 日本精品久久久久久久 | 国产精品夜夜春夜夜爽久久电影 | 色狠狠一区 | 天天碰日日操 | 伊色综合久久之综合久久 | 免费一区二区 | 午夜电影网站 | 日本黄色一级片视频 | 狠狠干狠狠插 | 一区二区三区在线看 | 一区二区三区久久 | 六月成人网| 草草草影院 | 国产国产精品久久久久 | 欧美99 | 国产乱人伦精品一区二区 | 一区二区福利视频 | 亚洲国产精品一区二区三区 | 欧美一区二区精品 | 黄色网址免费看 | 亚洲一区日韩 | 北条麻妃一区二区三区在线观看 | 黄网站免费在线 | 久久国产成人 | 国产jizz女人多喷水99 | 精品少妇v888av| 天天操夜夜操 | 狠狠亚洲 |