• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. 如何避免出現(xiàn)僵尸進(jìn)程

        時(shí)間:2024-09-27 23:42:17 Linux認(rèn)證 我要投稿
        • 相關(guān)推薦

        如何避免出現(xiàn)僵尸進(jìn)程

          所謂僵尸進(jìn)程,就是指子進(jìn)程結(jié)束后,其實(shí)并沒(méi)有真正被銷毀,而是留下一個(gè)稱為僵尸進(jìn)程(Zombie)的數(shù)據(jù)結(jié)構(gòu),它幾乎放棄了所有內(nèi)存空間,沒(méi)有任何可執(zhí)行代碼,也不能被調(diào)度,僅僅在進(jìn)程列表中保留一個(gè)位置,記載進(jìn)程的退出狀態(tài)等供其他進(jìn)程搜集,此時(shí)即使用root身份kill -9也不能將其殺死,此時(shí)唯一的補(bǔ)救辦法就是找到它的父進(jìn)程,并將其殺死,此時(shí)僵尸進(jìn)程過(guò)繼給init,由init負(fù)責(zé)回收。那么怎樣用兩次fork來(lái)避免僵尸進(jìn)程呢

          #include

          #include

          #include

          #include

          #include

          int main()

          {

          pid_t pid;

          pid=fork();

          if(pid<0)

          {

          perror("child1 create failed\n");

          exit(-1);

          }

          else if(pid==0)

          {

          /*child1*/

          pid=fork();

          if(pid<0)

          {

          perror("child2 create failed\n");

          exit(-1);

          }

          else if(pid>0)

          {

          /*child1結(jié)束*/

          exit(0);

          }

          /*child2*/

          sleep(2);//因?yàn)椴恢纁hild1和child2哪個(gè)先執(zhí)行,所以讓child2先睡兩秒

          /*TODO child2*/

          exit(0);

          }

          /*parent*/

          if(waitpid(pid,NULL,0)!=pid) //wait for child1

          {

          perror("waitpid error\n");

          exit(-1);

          }

          /*TODO parent*/

          exit(0);

          }

          總的說(shuō)來(lái),其實(shí)就是父進(jìn)程parent創(chuàng)建一個(gè)子進(jìn)程child1,child1再創(chuàng)建它的子進(jìn)程child2,此時(shí)結(jié)束child1,child2就自然過(guò)繼給init啦,這樣以后無(wú)論怎樣,當(dāng)child2結(jié)束時(shí)直接就由init釋放,再也影響不到parent進(jìn)程了,也不可能會(huì)出現(xiàn)僵尸進(jìn)程啦

        【如何避免出現(xiàn)僵尸進(jìn)程】相關(guān)文章:

        如何避免數(shù)控機(jī)床出現(xiàn)的安全問(wèn)題?10-25

        避免中考常出現(xiàn)的15個(gè)“意外”06-07

        如何避免蜘蛛陷阱06-14

        如何避免瑜伽傷害10-21

        避免談話出現(xiàn)僵局的3個(gè)技巧06-04

        如何避免酒后駕車-避免酒后駕車的方法08-22

        如何避免商品漏發(fā)08-09

        如何打高球避免高爾夫10-26

        如何避免汽車后視鏡盲區(qū)07-13

        如何避免孩子的起床氣?07-05

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 亚洲成AV人片在线观看网址 | 亚洲欧美日韩国产一区二区三区 | 亚洲AV网站在线 | 伊人久久中文大香线蕉综合 | 久久重口味免费视频 | 日韩国产亚洲欧美不卡观看 |