免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3610 | 回复: 3

请教AnyEvent::Fork僵尸进程问题 [复制链接]

论坛徽章:
0
发表于 2014-03-05 14:33 |显示全部楼层
20可用积分
部分代码
Data::Search中使用了$rt=`外部命令`
  1. use AnyEvent::Fork;


  2. my $fh=new IO::File ">/tmp/ForkOperations.log";
  3. my $searchTemplate=AnyEvent::Fork->new->require("Data::Search")->send_fh($fh);

  4. my $cv = AnyEvent->condvar;

  5. sub start {
  6.     if ($isDaemon==1) {
  7.         exit if fork;
  8.         &setsid();
  9.         chdir '/';
  10.         umask 022;
  11.         close STDIN;
  12.         close STDOUT;
  13.         close STDERR;

  14.         open STDOUT,'>/dev/null';
  15.         open STDERR,'>/dev/null';
  16.         my $pid=fork;
  17.         if ($pid == 0) {
  18.             &child_process();
  19.             exit;
  20.         } else {
  21.             exit 254;
  22.         }   
  23.     } else {
  24.         &child_process();
  25.     }   
  26. }


  27. sub child_process {

  28.     if ($timer->{checkServiceRelation}->{enable}) {
  29.         $timer->{checkServiceRelation}->{handle}=AnyEvent->timer(
  30.             after=>$timer->{checkServiceRelation}->{after},
  31.             interval=>$timer->{checkServiceRelation}->{interval},
  32.             cb=>sub{
  33.                     $log->w_log(3,"[checkGameClientConnStat] on timer");
  34.                     $searchTemplate->fork->send_arg($rip,$rport)->run("Data::Search::checkServiceRelation",sub {
  35.                     });
  36.             }
  37.        );
  38.     }
  39.     $cv->wait;
  40. }
复制代码
ps 结果

  1. 26626 22686 22686 26626 pts/2    22686 S+       0   0:00  |       \_ DataService
  2. 22724 22992 22686 26626 pts/2    22686 Z+       0   0:00  |               |   \_ [Data::Searc] <defunct>
  3. 22724 22993 22686 26626 pts/2    22686 Z+       0   0:00  |               |   \_ [Data::Searc] <defunct>
  4. 22724 22995 22686 26626 pts/2    22686 Z+       0   0:00  |               |   \_ [Data::Searc] <defunct>
  5. 22724 22996 22686 26626 pts/2    22686 S+       0   0:00  |               |   \_ Data::Search::checkServiceRelation of 22686
  6. 22724 22997 22686 26626 pts/2    22686 Z+       0   0:00  |               |   \_ [Data::Searc] <defunct>
  7. 22724 22998 22686 26626 pts/2    22686 Z+       0   0:00  |               |   \_ [Data::Searc] <defunct>
  8. 22724 23002 22686 26626 pts/2    22686 Z+       0   0:00  |               |   \_ [Data::Searc] <defunct>
  9. 22724 23004 22686 26626 pts/2    22686 Z+       0   0:00  |               |   \_ [Data::Searc] <defunct>
  10. 22724 23006 22686 26626 pts/2    22686 Z+       0   0:00  |               |   \_ [Data::Searc] <defunct>
  11. 22724 23010 22686 26626 pts/2    22686 Z+       0   0:00  |               |   \_ [Data::Searc] <defunct>
  12. 22724 23014 22686 26626 pts/2    22686 Z+       0   0:00  |               |   \_ [Data::Searc] <defunct>
  13. 22724 23019 22686 26626 pts/2    22686 Z+       0   0:00  |               |   \_ [Data::Searc] <defunct>
  14. 22724 23022 22686 26626 pts/2    22686 Z+       0   0:00  |               |   \_ [Data::Searc] <defunct>
  15. 22724 23023 22686 26626 pts/2    22686 Z+       0   0:00  |               |   \_ [Data::Searc] <defunct>
  16. 22724 23027 22686 26626 pts/2    22686 Z+       0   0:00  |               |   \_ [Data::Searc] <defunct>
  17. 22724 23031 22686 26626 pts/2    22686 Z+       0   0:00  |               |   \_ [Data::Searc] <defunct>
  18. 22724 23032 22686 26626 pts/2    22686 Z+       0   0:00  |               |   \_ [Data::Searc] <defunct>
  19. 22724 23033 22686 26626 pts/2    22686 Z+       0   0:00  |               |   \_ [Data::Searc] <defunct>
  20. 22724 23040 22686 26626 pts/2    22686 Z+       0   0:00  |               |   \_ [Data::Searc] <defunct>
  21. 22724 23043 22686 26626 pts/2    22686 Z+       0   0:00  |               |   \_ [Data::Searc] <defunct>
  22. 22724 23044 22686 26626 pts/2    22686 Z+       0   0:00  |               |   \_ [Data::Searc] <defunct>
  23. 22724 23048 22686 26626 pts/2    22686 Z+       0   0:00  |               |   \_ [Data::Searc] <defunct>
复制代码

论坛徽章:
0
发表于 2014-03-10 18:52 |显示全部楼层

论坛徽章:
0
发表于 2014-03-11 19:12 |显示全部楼层
发现问题,另外的代码加了 use Mojo::UserAgent
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

ITPUB技术栈

ITPUB技术栈是ITPUB企业打造的垂直于IT领域的知识社群平台,在这里,你既可以是创作者也可以是消费者。如果你的IT生涯丰富多彩,喷薄的个人价值尽可在小栈内体现;如果你渴望找到志同道合的伙伴,拓宽人脉,小栈比跑会场更快。 小栈特色:
1.极高的用户转化率,实现更直接的知识变现;
2.随时随地,刷个朋友圈的时间,实现更长效的信息沉淀;
3.戳痛、难点的专业咨询,更接近成功解决方案的时刻;
4.贴近意见领袖,个人高速成长,迈入更富有价值的人际圈。

----------------------------------------

技术小栈>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP