久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      linux產(chǎn)生zombie的原因是什么

      linux產(chǎn)生zombie(僵尸進(jìn)程)的原因是:父進(jìn)程產(chǎn)生子進(jìn)程后,子進(jìn)程先于父進(jìn)程退出,但父進(jìn)程沒有處理子進(jìn)程發(fā)出的退出信號,因此子進(jìn)程就會被稱為僵尸進(jìn)程;此時使用root身份也不能kill殺死進(jìn)程,可以通過殺死子進(jìn)程的父進(jìn)程來解決。

      linux產(chǎn)生zombie的原因是什么

      本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。

      linux產(chǎn)生zombie的原因是什么

      產(chǎn)生原因:

      僵尸進(jìn)程,英文名zombie process,顧名思義就是死掉的進(jìn)程。那么僵尸進(jìn)程究竟是什么產(chǎn)生的呢

      僵尸進(jìn)程產(chǎn)生的原因就是父進(jìn)程產(chǎn)生子進(jìn)程后,子進(jìn)程先于父進(jìn)程退出,但是父進(jìn)程由于種種原因,并沒有處理子進(jìn)程發(fā)送的退出信號,那么這個子進(jìn)程就會成為僵尸進(jìn)程。

      這個是所謂的zombie(僵尸進(jìn)程)是指在fork()/execve()過程中,假設(shè)子進(jìn)程結(jié)束時父進(jìn)程仍存在,而父進(jìn)程fork()之前既沒安裝SIGCHLD信號處理函數(shù)調(diào)用waitpid()等待子進(jìn)程結(jié)束,又沒有顯式忽略該信號,則子進(jìn)程成為僵尸進(jìn)程,無法正常結(jié)束,此時即使是root身份kill -9也不能殺死僵尸進(jìn)程。補(bǔ)救辦法是殺死僵尸進(jìn)程的父進(jìn)程(僵尸進(jìn)程的父進(jìn)程必然存在),僵尸進(jìn)程成為”孤兒進(jìn)程”,過繼給1號進(jìn)程init,init始終會負(fù)責(zé)清理僵尸進(jìn)程。

      僵尸進(jìn)程是指的父進(jìn)程已經(jīng)退出,而該進(jìn)程dead之后沒有進(jìn)程接受,就成為僵尸進(jìn)程.(zombie)進(jìn)程

      解決方法:

      (1) 父進(jìn)程通過wait和waitpid等函數(shù)等待子進(jìn)程結(jié)束,這會導(dǎo)致父進(jìn)程掛起。

      執(zhí)行wait()或waitpid()系統(tǒng)調(diào)用,則子進(jìn)程在終止后會立即把它在進(jìn)程表中的數(shù)據(jù)返回給父進(jìn)程,此時系統(tǒng)會立即刪除該進(jìn)入點(diǎn)。在這種情形下就不會產(chǎn)生defunct進(jìn)程。

      (2) 如果父進(jìn)程很忙,那么可以用signal函數(shù)為SIGCHLD安裝handler。在子進(jìn)程結(jié)束后,父進(jìn)程會收到該信號,可以在handler中調(diào)用wait回收。

      (3) 如果父進(jìn)程不關(guān)心重點(diǎn)內(nèi)容子進(jìn)程什么時候結(jié)束,那么可以用signal(SIGCLD, SIG_IGN)或signal(SIGCHLD, SIG_IGN)通知內(nèi)核,自己對子進(jìn)程的結(jié)束不感興趣,那么子進(jìn)程結(jié)束后,內(nèi)核會回收,并不再給父進(jìn)程發(fā)送信號

      (4)fork兩次,父進(jìn)程fork一個子進(jìn)程,然后繼續(xù)工作,子進(jìn)程fork一個孫進(jìn)程后退出,那么孫進(jìn)程被init接管,孫進(jìn)程結(jié)束后,init會回收。不過子進(jìn)程的回收還要自己做。

      推薦學(xué)習(xí):Linux視頻教程

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號