weidagang2046的專欄

          物格而后知致
          隨筆 - 8, 文章 - 409, 評論 - 101, 引用 - 0
          數(shù)據(jù)加載中……

          ping子網(wǎng)內(nèi)各主機(jī)的并發(fā)實(shí)現(xiàn)

          ???? sub ?ping_a_host?{
          ??????
          my ? $host ? = ? shift ;
          ??????`ping?
          - i? 1 ? - c? 1 ? $host ? 2 >/ dev / null`? =~ ? / 0 ?packets?rec / ? ? ? 0 ? : ? 1 ;
          ????}

          ????
          my ? %pid_to_host ;
          ????
          my ? %host_result ;

          ????
          sub ?wait_for_a_kid?{
          ??????
          my ? $pid ? = ? wait ;
          ??????
          return ? 0 ? if ? $pid ? < ? 0 ;
          ??????
          my ? $host ? = ? delete ? $pid_to_host { $pid }
          ????????or?
          warn ( " Why?did?I?see?$pid?($?)\n " ) , ? next ;
          ??????
          warn ? " reaping?$pid?for?$host\n " ;
          ??????
          $host_result { $host }? = ?$ ? ? ? ? 0 ? : ? 1 ;
          ??????
          1 ;
          ????}

          ????
          my ? @hosts ? = ? map ? " 10.0.1.$_ " , ? " 001 " .. " 254 " ;

          ????
          for ?( @hosts )?{
          ??????wait_for_a_kid()?
          if ? keys ? %pid_to_host ? > ? 10 ;
          ??????
          if ?( my ? $pid ? = ? fork )?{
          ????????
          # #?parent?does
          ???????? $pid_to_host { $pid }? = ? $_ ;
          ????????
          warn ? " $pid?is?processing?$_\n " ;
          ??????}?
          else ?{? # ?child?does
          ????????##?child?does

          ???????? exit ? ! ping_a_host( $_ );
          ??????}
          ????}

          ????
          # #?final?reap:
          ???? 1 ? while ?wait_for_a_kid();

          ????
          for ?( sort ? keys ? %host_result )?{
          ??????
          print ? " $_?is? " , ?( $host_result { $_ }? ? ? " good " ? : ? " bad " ) , ? " \n " ;
          ????}

          from: http://www.perlchina.org/archive/archive.php?action=archive&page=44

          posted on 2006-05-21 20:29 weidagang2046 閱讀(550) 評論(0)  編輯  收藏 所屬分類: Perl

          主站蜘蛛池模板: 江都市| 中宁县| 新龙县| 大同县| 巴彦县| 元朗区| 招远市| 社会| 旌德县| 方城县| 富平县| 扎鲁特旗| 潢川县| 和硕县| 普兰县| 五家渠市| 广昌县| 锡林浩特市| 剑河县| 双流县| 周宁县| 泗洪县| 大同市| 平南县| 四会市| 浙江省| 新闻| 孝感市| 平陆县| 元阳县| 福州市| 宾阳县| 军事| 兰考县| 泸州市| 临漳县| 深泽县| 潢川县| 南漳县| 云龙县| 德江县|