ivaneeo's blog

          自由的力量,自由的生活。

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks

          如何殺死僵尸進程呢?

          一般僵尸進程很難直接kill掉,不過您可以kill僵尸爸爸。父進程死后,僵尸進程成為”孤兒進程”,過繼給1號進程init,init始終會負責清理僵尸進程.它產生的所有僵尸進程也跟著消失。

          ps -e -o ppid,stat | grep Z | cut -d” ” -f2 | xargs kill -9

          kill -HUP `ps -A -ostat,ppid | grep -e ’^[Zz]‘ | awk ’{print $2}’`

          當然您可以自己編寫更好的shell腳本,歡迎與大家分享。

          另外子進程死后,會發送SIGCHLD信號給父進程,父進程收到此信號后,執行waitpid()函數為子進程收尸。就是基于這樣的原理:就算父進 程沒有調用wait,內核也會向它發送SIGCHLD消息,而此時,盡管對它的默認處理是忽略,如果想響應這個消息,可以設置一個處理函數。

          posted on 2014-02-20 19:49 ivaneeo 閱讀(583) 評論(0)  編輯  收藏 所屬分類: debian-企鵝中最像牛
          主站蜘蛛池模板: 涞源县| 永靖县| 临安市| 建德市| 德钦县| 普宁市| 广德县| 车险| 富顺县| 故城县| 莱阳市| 曲周县| 成武县| 房山区| 黑河市| 招远市| 富源县| 额敏县| 淳化县| 永善县| 华亭县| 文昌市| 牟定县| 兴安县| 高州市| 普格县| 济源市| 封丘县| 大冶市| 黑龙江省| 宁蒗| 桂阳县| 余干县| 阳泉市| 皮山县| 太湖县| 新宁县| 武安市| 安义县| 仲巴县| 温州市|