当前位置: 首页 > news >正文

2008iis 网站 打不开加盟酒店网站制作

2008iis 网站 打不开,加盟酒店网站制作,学生WordPress博客,北京app定制公司1.僵死进程产生的原因或者条件: 当子进程先于父进程结束,父进程没有获取子进程的退出码,此时子进程变成僵死进程;(即就是子进程结束了#xff0c;但父进程还没有结束的时候才会出现僵死进程) #xff08;代码中 #xff0c;子先于父#xff09;#xff08; 后台运…1.僵死进程产生的原因或者条件: 当子进程先于父进程结束,父进程没有获取子进程的退出码,此时子进程变成僵死进程;(即就是子进程结束了但父进程还没有结束的时候才会出现僵死进程) 代码中 子先于父 后台运行 当一个进程结束的时候只有进程的退出码被父进程获取后父进程才能退出进程的PCB才会被释放否则父进程会一直等待退出码在得到退出码之前这个进程就是一个僵死进程。 2.演示僵死进程: vim fork.c #includestdlib.h #includewait.hint main() {char *sNULL;int n0;//控制父子进程的次数pid_t idfork();assert(id!-1);if(id0)//子进程{ schild;n7;} else{ sparent;n3;int val0;if(WIFEXITED(val))//如果正常退出{printf(val%d\n,WEXITSTATUS(val));}wait(val);printf(val%d\n,val);} //父子进程一起运行int i0;for(;in;i){ printf(s%s ,pid%d ,ppid%d n的地址%p n%d\n,s,getpid(),getppid(),n,n);sleep(1);} exit(0); } 3.僵死进程带来的影响 1进程的退出状态必须被维持下去因为他要告诉关心它的进程父进程你交给我的任务我办的怎 么样了。可父进程如果一直不读取那子进程就一直处于Z状态。 2维护退出状态本身就是要用数据维护也属于进程基本信息所以保存在task_struct(PCB)中换句话 说Z状态一直不退出PCB一直要维护 3那一个父进程创建了很多子进程就是不回收是不是就会造成内存资源的浪费 答是的。因为数据结构 对象本身就要占用内存想想C中定义一个结构体变量对象是要在内存的某个位置进行开辟空 间 4会造成内存泄漏 4.如何去处理僵死进程? (1)父进程先结束 比如子进程的n改为7,父进程的n改为3; (子进程会变成孤儿进程,孤儿进程会被收养,父进程就会获取退出码;(调用wait); (红帽子是init(pid1)收养孤儿进程,Unbuntu是操作系统指定了一个进程)); (2)父进程调用wait()方法获取子进程的退出码; 父进程执行7次,子进程改为3次;就能观察到僵死进程(放到后台运行,ps); #includestdlib.h #includewait.hint main() {char *sNULL;int n0;//控制父子进程的次数pid_t idfork();assert(id!-1);if(id0)//子进程{ schild;n7;} else{ sparent;n3;int val0;if(WIFEXITED(val))//如果正常退出{printf(val%d\n,WEXITSTATUS(val));}wait(val);printf(val%d\n,val);} //父子进程一起运行int i0;for(;in;i){ printf(s%s ,pid%d ,ppid%d n的地址%p n%d\n,s,getpid(),getppid(),n,n);sleep(1);} exit(0); } 处理僵死进程的方法一: 父进程执行3次,子进程改为7次;去观察僵死进程没有了;收养孤儿进程 的,一定会调用wait(就是获取退出码的);获取了退出码,操作系统就会把 pcb删掉,就不会出现僵死进程; 处理僵死进程的方法二: 父进程调用wait方法; 1命令, 2 系统调用 3 库函数 man 2 wait else {sparent;n7;int val0;wait(val);printf(val%d\n,val); } 其实两种处理僵死进程的方法的本质是一样的,都调用了wait方法,获取退出码; 但是两种方法都有区别:就是父进程调用wait会阻塞,等子进程执行完之后,父进程才会去执行 1 #include stdio.h2 #includeassert.h3 #includeunistd.h4 #includestring.h5 #includestdlib.h6 #includewait.h7 8 int main()9 {10 char *sNULL;11 int n0;//控制父子进程的次数12 13 pid_t idfork();14 assert(id!-1);15 16 if(id0)//子进程17 {18 schild;19 n3;20 }21 else22 {23 sparent;24 n7;25 int val0;26 wait(val);27 printf(val%d\n,val);28 }//获取退出码29 //父子进程一起运行30 int i0;31 for(;in;i)32 {33 printf(s%s ,pid%d ,ppid%d n的地址%p n%d\n,s,getpid(),getppid (),n,n);34 sleep(1);35 }36 exit(0);37 } 5.子进程的退出码 改写码exit3 执行显示val768  man 2 wait WIFEXITED:正常退出的状态; WEXITSTATUS:获取退出码;
http://www.hkea.cn/news/14323677/

相关文章:

  • win10可以自己做网站软文代写发布
  • 做电脑网站用什么软件有哪些网站域名有了_网站如何建设
  • 网站主页设计教程网站的定位
  • 策划方案网站水泵网站站群建设
  • 西安 美院 网站建设有一个网站叫浪什么
  • 上海工厂网站建设网站建设的电话回访
  • 做网站,用什么做数据库最好wordpress自定义字段分类
  • 地产网站建设方案深圳光明网站建设
  • 企业网站建设 cms资源下载站 wordpress
  • 企业做网站哪家公司好wordpress movies themes
  • 网站下载系统如何做系统网站经营性备案流程
  • 专业的聊城网站优化上海建站模板源码
  • 百度贴吧有没有做网站的人天眼查登录入口
  • 网站开发软件是什么专业如何建立网上商城
  • 免费的微网站制作什么做网站做个多少钱啊
  • 网站你懂我意思正能量不用下载视频惠州seo网络推广
  • 贷款超市网站开发做阿里巴巴网站图片大全
  • 印象网站建设wordpress传到主机
  • 网站设计教程及在线模拟器网站开发人员职位
  • 如何做正规电影网站个人网站如何搭建
  • 网站制作建设案例坑梓网站建设信息
  • 网站开发google网络设计中网络设备选择的原则
  • 桐城住房建设网站上海传媒公司介绍
  • 做网站站长开通vip果业局网站建设
  • 胶州为企业做网站的公司苏州建行网站首页
  • 网站建设包括哪些方面?wordpress媒体库不显示图片
  • 蓝杉互动网站建设莱芜亓家网站
  • 网站建设费是广告费吗网站建设公司演讲稿
  • 网站报价表对比表怎么做番禺建设网站哪个好
  • 重庆建设工程查询网站如何做滴滴网站平台