首页 | 源码下载 | 网站模板 | 网页特效 | 广告代码 | 网页素材 | 字体下载 | 书库 | 站长工具
会员投稿 投稿指南 RSS订阅
当前位置:主页>服务器类>Linux服务器>资讯:Linux如何避免进程僵死

Linux如何避免进程僵死

www.jz123.cn  2010-08-05   来源:   中国建站    责任编辑(袁袁)    我要投递新闻

  一个进程终止但是父进程尚未进行回收,就是僵死。

  避免僵死可以调用waitpid等待子进程结束,但是其间父进程一直阻塞。

  更好的办法是调用两次fork函数。

  源代码如下:

  #include

  #include

  #include

  int main()

  {

  pid_t pid;

  if((pid = fork()) < 0)//出错

  {

  perror("fork!n");

  }

  else if(pid == 0)//子进程1

  {//子进程中创建进程2

  if((pid =fork()) < 0)//出错

  {

  perror("fork!n");

  }

  else if(pid > 0)//进程1

  {

  exit(0);//退出

  }

  else//子进程2

  {

  sleep(2);

  printf("second child, parent pid = %dn", getpid());

  exit(0);

  }

  }

  else//父进程

  {

  sleep(3);

  printf("parent!n");

  exit(0);

  }

  }


上一篇:Linux使用日志系统调试守护进程 下一篇:Linux中命令行修改网关方法

评论总数:0 [ 查看全部 ] 网友评论


关于我们隐私版权广告服务友情链接联系我们网站地图