LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 738|回复: 0

接收不到子进程推出信号

[复制链接]
发表于 2006-7-10 17:12:45 | 显示全部楼层 |阅读模式

  1. #!/usr/bin/perl -W

  2. $flag = 1;

  3. if (!defined($kidpid = fork())) {
  4.     # fork returned undef, so failed
  5.     die "cannot fork: $!";
  6. } elsif ($kidpid == 0) {
  7.       for($i=0;$i<3;$i++)
  8.       {
  9.               print "I am child\n";
  10.               sleep(3);
  11.       }       
  12. } else {
  13.                 # fork returned neither 0 nor undef,
  14.                 # so this branch is the parent
  15.                 foreach $a (keys %SIG)
  16.                 {
  17.                         print "$a.............$SIG{$a}\n";
  18.                 }
  19.     print "Parent...........\n";
  20. }

  21. $SIG{'CHLD'} = 'my_sigint_catcher';
  22. while($flag)
  23. {
  24.         print "Waiting........\n";
  25.         sleep(1);
  26. }

  27. sub my_sigint_catcher {
  28.         print "子进程推出\n";
  29.     waitpid($kidpid, 0);
  30.     $flag = 0; # set a flag
  31. }
复制代码


我的操作系统是redhat
接收不到 CHLD 信号

请指教!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表