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

网站建设空心正方形搜索引擎优化论文

网站建设空心正方形,搜索引擎优化论文,蓟县网站建设公司,如何制作网址图片孤儿进程#xff1a;父进程先于子进程结束#xff08;遇到return、exit、异常终止等情况时#xff09;#xff0c;则子进程成为孤儿进程#xff0c;子进程的父进程成为init进程#xff0c;称为init进程领养孤儿进程。可以通过getppid函数来查看孤儿进程的父进程ID#x…孤儿进程父进程先于子进程结束遇到return、exit、异常终止等情况时则子进程成为孤儿进程子进程的父进程成为init进程称为init进程领养孤儿进程。可以通过getppid函数来查看孤儿进程的父进程ID即init进程的IDinit进程的ID具体是多少取决于操作系统对进程的调度其值是不确定的。在操作系统中init进程也不止一个可通过ps aux详细查看。 僵尸进程进程终止父进程尚未回收子进程残留资源PCB存放于内核中变成僵尸Zombie进程。 特别注意僵尸进程是不能使用kill命令清除掉的。因为kill命令只是用来终止进程的而僵尸进程已经终止。 // orphan.c  //shell产生子进程执行该程序 #include stdio.h #include unistd.h #include sys/wait.hint main(void) { pid_t pid;pid fork(); //创建子进程if (pid 0) {while (1) {printf(I am child, my parent pid %d\n, getppid());sleep(1); //子进程一直运行}} else if (pid 0) {printf(I am parent, my pid is %d\n, getpid());sleep(9);printf(------------parent going to die------------\n); //父进程先于子进程结束子进程变为孤儿进程} else {perror(fork);return 1; //等价于exit(1)都是结束进程且进程结束状态置1表示出错}return 0; } [rootlocalhost wait]# ./orphan I am parent, my pid is 26900 I am child, my parent pid 26900 I am child, my parent pid 26900 I am child, my parent pid 26900 I am child, my parent pid 26900 I am child, my parent pid 26900 I am child, my parent pid 26900 I am child, my parent pid 26900 I am child, my parent pid 26900 I am child, my parent pid 26900 ------------parent going to die------------ //父进程正常结束 I am child, my parent pid 1  //子进程为孤儿进程被init进程领养即其父进程为init进程 [rootlocalhost wait]# I am child, my parent pid 1 //父进程结束shell进程收回前台等待命令交互 I am child, my parent pid 1 //子进程一直执行为孤儿进程 I am child, my parent pid 1 I am child, my parent pid 1 I am child, my parent pid 1 I am child, my parent pid 1 //zoom.c #include stdio.h #include stdlib.h #include unistd.h #include sys/wait.hint main(void) {pid_t pid;pid fork(); if (pid 0) {printf(---child, my parent %d, going to sleep 10s\n, getppid());sleep(10);printf(-------------child die--------------\n); //子进程先正常结束} else if (pid 0) {while (1) {printf(I am parent, pid %d, myson %d\n, getpid(), pid);sleep(1);} //父进程一直运行} else {perror(fork);return 1;}return 0; } [rootlocalhost wait]# ./zoom I am parent, pid 27152, myson 27153 ---child, my parent 27152, going to sleep 10s I am parent, pid 27152, myson 27153 I am parent, pid 27152, myson 27153 I am parent, pid 27152, myson 27153 I am parent, pid 27152, myson 27153 I am parent, pid 27152, myson 27153 I am parent, pid 27152, myson 27153 I am parent, pid 27152, myson 27153 I am parent, pid 27152, myson 27153 I am parent, pid 27152, myson 27153 I am parent, pid 27152, myson 27153 -------------child die--------------  //子进程死亡 I am parent, pid 27152, myson 27153 //父进程一直运行一直占据前台shell进程无法获得前台交互  且子进程结束后父进程没有对子进程残留在内核中的PCB进行回收从而子进程变为僵尸进程。 I am parent, pid 27152, myson 27153 I am parent, pid 27152, myson 27153 I am parent, pid 27152, myson 27153 [rootlocalhost wait] # ps aux root     27152  0.0  0.0   4160   352 pts/1    S   03:11   0:00 ./zoom root     27153  0.0  0.0      0     0 pts/1    Z   03:11   0:00 [zoom] defunct root      27155  0.0  0.0      0     0 ?        R    03:12   0:00 [kworker/3:0] root      27163  0.0  0.0 107892   360 ?        S    03:12   0:00 sleep 60 root      27164  0.0  0.0 123360  1384 pts/0    R   03:12   0:00 ps aux [rootlocalhost wait]# kill 27152  由上可以看出父进程27152为S表示该进程在后台运行注意ps aux命令是在另一个终端执行的因此相对于另一个shell终端父进程在后台运行子进程27153为Z表示僵尸进程说明该进程终止后其残留在内核的PCB资源没有被父进程回收而ps aux这个命令的进程为R表示在前台运行即就在pts/0设备终端的前台运行。而前两个进程属于pts/1设备。[zoom] defunct  defunct表示已故的不复存在的但其痕迹仍然残留在内核中占用内存资源因此需要做到及时对僵尸进程回收和清除。 总结在每个进程退出的时候 内核释放该进程所有的资源包括打开的文件占用的内存等。但是仍然为其保留一定的信息包括进程号the process ID退出状态the termination status of the process运行时间the amount of CPU time taken by the process等。直到父进程通过wait / waitpid来取时才释放。 另外如果父进程一直不结束不终止在不调用wait或waitpid的情况下其子进程结束后会变为僵尸进程残留在内核中此时若父进程结束了那么这些僵尸进程因为没有了父进程就会变为孤儿进程被init进程领养init进程就会对这些僵尸进程进行回收然后清除。因此父进程结束了其子进程会被回收。孤儿进程结束后也会被init进程回收。如果要回收一个进程除了通过其父进程调用wait或waitpid函数外还可以杀死其父进程让其变为孤儿进程被init进程回收。 系统所能使用的进程号是有限的如果大量的产生僵死进程将因为没有可用的进程号而导致系统不能产生新的进程. 此即为僵尸进程的危害应当避免。可以fork两次 父进程fork一个子进程然后继续工作子进程fork一个孙进程后退出那么孙进程被init接管孙进程结束后init会回收。不过子进程的回收还要自己做。
http://www.yutouwan.com/news/489012/

相关文章:

  • 开发做游戏的网站智能建站官网
  • 不花钱的网站怎么做网站生成工具
  • 免费php网站开发模板大连网站制作师
  • 网站优化排名优化建设网站的命令
  • 淘宝提货网站怎么做的win10系统可以做网站搭建
  • 平舆网站建设外贸网站 海外推广
  • 建一个电商网站要多少钱东莞外贸网站建站
  • 承德市建设局网站wordpress简单广告框修改
  • wordpress站演示有网络网站打不开怎么回事啊
  • 莱阳网站开发asp网站免费模板下载
  • 江西天亿建设有限公司网站免费制作视频的软件手机版
  • 龙岗网站建设流程短视频运营策划
  • 山西品牌网站建设太原搜索引擎推广
  • 简述网站开发的过程手机网站开发公司
  • vps被攻击网站打不开ping值高网站建设注意事情
  • 我想在阿里巴巴做卫生纸的网站社交媒体营销策略有哪些
  • wordpress主题 外贸网站当牛做吗网站源代码分享
  • 松阳县建设局网站公示怎么注册电力建设公司网站
  • 南京制作公司网站移动端4060相当于桌面端什么显卡
  • 个人电子商务网站建设wordpress外链略缩图
  • 制作静态网站免费微信小程序免费制作平台
  • 现在网站的外部链接怎么做wordpress 文章时间
  • 产品类网站模板安阳网站制作价格
  • 做美陈3d模型网站wordpress研究
  • 做网站要掌握几种语言化工设计网站
  • 做网站需要什么域名wordpress换主题影响seo吗
  • 郑州建设电商网站雨伞设计公司logo
  • 跨境网站有哪些平台做公司网站有什么需要注意的
  • 妇女之家网站建设方案公司主页填什么
  • 建设网站赚钱的方法个人参与防疫工作总结