免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: tom2zhang
打印 上一主题 下一主题

怎么样才能重现zombie进程的产生呢 [复制链接]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
11 [报告]
发表于 2005-04-28 09:38 |只看该作者

怎么样才能重现zombie进程的产生呢

试试这个:
  1. #include  <stdio.h>;
  2. #include <sys/types.h>;
  3. #include <signal.h>;

  4. void sigpro(int nsig)
  5. {
  6.     printf("get signal.\n");
  7.     system("ps -a");
  8. }

  9. main()
  10. {
  11.     signal(SIGCHLD, sigpro);

  12.     if(fork() == 0) exit(0);
  13.     else pause();
  14. }
复制代码

论坛徽章:
0
12 [报告]
发表于 2005-04-28 14:07 |只看该作者

怎么样才能重现zombie进程的产生呢

不瞒你说,HPUX上还真没看见zombie,不知道是ps的不够细(应该不是),还是什么原因(HPUX上肯定有zombie)。Linux上肯定是有。下面给出HP官方网站的例子,但是很不幸,没有产生zombie。

#include <stdio.h>;
     #include <signal.h>;

     int main(void)
     {
      pid_t pid_child;

      pid_child= fork();

      puts("run 'ps -f' in order to see the processes\n\n";

      if (pid_child==0) puts("I'm the child";
      else
      {
       signal(SIGCLD, SIG_IGN);
       puts("I'm the father.\n But I'm not waiting for my child's death.  Then my child is a ZOMBIE";
       sleep(50);
      }
     }

论坛徽章:
0
13 [报告]
发表于 2005-04-28 14:30 |只看该作者

怎么样才能重现zombie进程的产生呢

试一下:ps -efl|grep "Z"看看

论坛徽章:
0
14 [报告]
发表于 2005-04-28 15:29 |只看该作者

怎么样才能重现zombie进程的产生呢

如果有,我早看见了

论坛徽章:
0
15 [报告]
发表于 2005-04-28 16:28 |只看该作者

怎么样才能重现zombie进程的产生呢



  1. main()
  2. {
  3. int i;

  4.     for(i = 0; i < 10; i++)
  5.        if(0 == fork()) exit(0);
  6.    
  7.     sleep(100);
  8. }

复制代码


10个。

论坛徽章:
0
16 [报告]
发表于 2005-04-28 17:39 |只看该作者

怎么样才能重现zombie进程的产生呢

不用试了,在HP上,0个
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP