• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            Dict.CN 在線詞典, 英語學習, 在線翻譯

            學海苦作舟,書山勤為徑

            留下點回憶

            常用鏈接

            統(tǒng)計

            積分與排名

            Denoise

            English study

            Web技術(shù)

            數(shù)據(jù)壓縮

            一些連接

            最新評論

            Linux為什么要設(shè)計一個“僵尸進程”狀態(tài)?

            最近看Linux進程狀態(tài),其中描述一個僵尸進程狀態(tài),這種狀態(tài)下進程已經(jīng)不能執(zhí)行了,只保留一個記錄,而這樣做的目的是讓其父親進程知道其狀態(tài);但有的父進程不關(guān)心這樣子進程,因此可能導(dǎo)致有些進程一直處于僵死狀態(tài)。

            那么我想到一個問題:為什么設(shè)計這樣一個狀態(tài)而不強制父進程必須了解它?另外,父進程沒有其他辦法知道其子進程了嗎?

            posted on 2011-05-23 23:08 笨笨 閱讀(2389) 評論(12)  編輯 收藏 引用 所屬分類: Linux

            評論

            # re: Linux為什么要設(shè)計一個“僵尸進程”狀態(tài)? 2011-05-24 12:34 nevergone

            因為linus是僵尸:-(  回復(fù)  更多評論   

            # re: Linux為什么要設(shè)計一個“僵尸進程”狀態(tài)? 2011-05-24 14:03 笨笨

            @nevergone
            呵呵  回復(fù)  更多評論   

            # re: Linux為什么要設(shè)計一個“僵尸進程”狀態(tài)? 2011-05-24 17:10 巫云

            既然是父進程派生出來的,應(yīng)該知道啊。  回復(fù)  更多評論   

            # re: Linux為什么要設(shè)計一個“僵尸進程”狀態(tài)? 2011-05-24 17:14 sxpropeht

            打個比方,你跟你老婆生了孩子,誰來養(yǎng)活孩子?
            在世界各國都是你們倆的義務(wù)
              回復(fù)  更多評論   

            # re: Linux為什么要設(shè)計一個“僵尸進程”狀態(tài)? 2011-05-24 21:38 笨笨

            @sxpropeht
            這個比方不恰當,這個新的進程已經(jīng)不需要主進程養(yǎng)活了。另外,這個進程已經(jīng)死了,還需要等待父進程來處理,而同時系統(tǒng)也不強制父進程必須處理。
            這才是我像了解的。。  回復(fù)  更多評論   

            # re: Linux為什么要設(shè)計一個“僵尸進程”狀態(tài)? 2011-05-25 10:58 hstcscolor

            @笨笨

            一個父進程派生了一個子進程, 那么這個父進程有可能想知道,子進程的終止狀態(tài)。如果父進程沒有獲取這個狀態(tài),那么子進程就變?yōu)閦ombie,直到父進程用wait來獲取。如果沒有這個狀態(tài),子進程直接結(jié)束。那么父進程就不會知道子進程的終止狀態(tài)了。這個終止狀態(tài)以用來判斷子進程終止的原因,有些時候還是挺重要的。比如 ,是不是正常終止,是由什么信號終止的。。。詳細說明可以參考unix高級環(huán)境編程 第八章進程控制,第六節(jié)  回復(fù)  更多評論   

            # re: Linux為什么要設(shè)計一個“僵尸進程”狀態(tài)? 2011-05-25 15:23 巫云

            我想笨笨想問的是為什么父進程不被強制要求處理,如果不處理有什么不好的后果。  回復(fù)  更多評論   

            # re: Linux為什么要設(shè)計一個“僵尸進程”狀態(tài)? 2011-05-25 16:47 笨笨

            @hstcscolor
            謝謝你的詳細解釋。
            不過我想父進程除了使用wait之外就沒有辦法知道子進程的狀態(tài)了嗎?
            (我對linux不是很熟悉)  回復(fù)  更多評論   

            # re: Linux為什么要設(shè)計一個“僵尸進程”狀態(tài)? 2011-05-25 16:49 笨笨

            @巫云
            我基本上是這個意思;既然有僵尸進程帶來的缺點,為什么不強制設(shè)置必須讓每個主進程等待。。。難道是為了避免父進程先退出的尷尬?貌似漸漸有些能理解了。。。  回復(fù)  更多評論   

            # re: Linux為什么要設(shè)計一個“僵尸進程”狀態(tài)?[未登錄] 2011-05-25 18:22 vincent

            我覺得還有一個有意思的語意
            既然是從你這fork的,你必然關(guān)注啊
            不然的話就沒從你這fork的意義了  回復(fù)  更多評論   

            # re: Linux為什么要設(shè)計一個“僵尸進程”狀態(tài)? 2011-05-26 19:28 易寶@byhh

            wait() 獲取子進程的退出狀態(tài)。若無,則阻塞。

            我覺得設(shè)計的挺好的。

              回復(fù)  更多評論   

            # re: Linux為什么要設(shè)計一個“僵尸進程”狀態(tài)? 2011-12-06 09:51 Onway

            其實可以使用sigaction捕捉SIGCHLD信號,并設(shè)置flag標志使其不產(chǎn)生僵死子進程的。
            如果強制父進程必須了解子進程的狀態(tài),我覺得這才不好,正如你所說的,有的父進程并不關(guān)心它的子進程。而且父進程先結(jié)束的話,子進程是會被init進程領(lǐng)養(yǎng)的。
            我覺得不是因為父進程fork了一個子進程就必須了解它。
            了解與不了解,由父進程自己決定,這不是很好么?  回復(fù)  更多評論   

            日韩精品久久久肉伦网站| 亚洲欧洲久久久精品| 中文字幕无码免费久久| 久久婷婷五月综合色奶水99啪| 精品国产乱码久久久久久呢| 久久精品这里热有精品| 波多野结衣久久一区二区| 国内精品人妻无码久久久影院| 久久最新免费视频| 国产高潮国产高潮久久久91 | 久久强奷乱码老熟女| 欧美精品一区二区精品久久| 日韩精品久久无码人妻中文字幕| 国产亚州精品女人久久久久久 | 久久成人小视频| 久久中文字幕视频、最近更新| 一本久久知道综合久久| 精品综合久久久久久97| 四虎国产精品成人免费久久| 欧美亚洲国产精品久久蜜芽| 国产精品青草久久久久福利99 | 91精品国产综合久久香蕉| 精品久久久久久亚洲| 国内精品久久久久久久亚洲| 久久亚洲中文字幕精品一区| 国产亚洲精久久久久久无码77777| 亚洲女久久久噜噜噜熟女| 7国产欧美日韩综合天堂中文久久久久 | 国产毛片久久久久久国产毛片 | 国产99久久久国产精品~~牛| 久久精品成人| 91精品国产色综久久| 99久久精品免费看国产一区二区三区| 久久天天躁狠狠躁夜夜网站| 国产农村妇女毛片精品久久| 精品国产VA久久久久久久冰| 亚洲欧美另类日本久久国产真实乱对白| 久久精品无码专区免费青青| 亚洲国产成人久久综合野外| 久久福利片| 精品久久久久久无码中文野结衣|