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

政府网站建设滞后企业网络策划

政府网站建设滞后,企业网络策划,wordpress搜索框位置,如何制作自媒体短视频概念 在 Unix/Linux 系统中,正常情况下,子进程是通过父进程创建的,且两者的运行是相互独立的,父进程永远无法预测子进程到底什么时候结束。当一个进程调用 exit 命令结束自己的生命时,其实它并没有真正的被销毁&#…

概念

在 Unix/Linux 系统中,正常情况下,子进程是通过父进程创建的,且两者的运行是相互独立的,父进程永远无法预测子进程到底什么时候结束。当一个进程调用 exit 命令结束自己的生命时,其实它并没有真正的被销毁,内核只是释放了该进程的所有资源,包括打开的文件、占用的内存等,但是留下一个称为僵尸进程的数据结构,这个结构保留了一定的信息(包括进程号 the process ID,退出状态,运行时间),这些信息直到父进程通过 wait()/waitpid() 来取时才释放。这样设计的目的主要是保证只要父进程想知道子进程结束时的状态信息,就可以得到

  • 僵尸进程: 一个进程使用 fork 创建子进程,如果子进程退出,而父进程并没有调用 wait 或 waitpid 获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中,这种进程称之为僵死进程。
  • 孤儿进程: 一个父进程退出,而它的一个或多个子进程还在运行,那么这些子进程将成为孤儿进程。孤儿进程将被 init 进程(进程号为1)所收养,并由 init 进程对它们完成状态收集工作。

危害

僵尸进程虽然不占有任何内存空间,但如果父进程不调用 wait() / waitpid() 的话,那么保留的信息就不会释放,其进程号就会一直被占用,而系统所能使用的进程号是有限的,如果大量的产生僵死进程,将因为没有可用的进程号而导致系统不能产生新的进程,此即为僵尸进程的危害。

孤儿进程是没有父进程的进程,孤儿进程这个重任就落到了 init 进程身上,init 进程就好像是一个民政局,专门负责处理孤儿进程的善后工作。每当出现一个孤儿进程的时候,内核就把孤儿进程的父进程设置为 init,而 init 进程会循环地 wait() 它的已经退出的子进程。这样,当一个孤儿进程凄凉地结束了其生命周期的时候,init 进程就会出面处理它的一切善后工作。因此孤儿进程并不会有什么危害。

解决僵尸进程方案

(1)方案一: 父进程通过 wait 和 waitpid 等函数等待子进程结束,但这会导致父进程挂起,所以这并不是一个好办法,父进程如果不能和子进程并发执行的话,那我们创建子进程的意义就没有。同时一个 wait 只能解决一个子进程,如果有多个子进程就要用到多个 wait

(2)方案二:通过信号机制:

子进程退出时,向父进程发送 SIGCHILD 信号,父进程处理 SIGCHILD 信号,在信号处理函数中调用 wait 进行处理僵尸进程。

(3)方案三:fork两次:

原理是将进程成为孤儿进程,从而其的父进程变为 init 进程,通过 init 进程处理僵尸进程。具体操作为:父进程一次 fork() 后产生一个子进程随后立即执行 wait(NULL) 来等待子进程结束,然后子进程 fork() 后产生孙子进程随后立即exit(0)。这样子进程顺利终止(父进程仅仅给子进程收尸,并不需要子进程的返回值),然后父进程继续执行。这时的孙子进程由于失去了它的父进程(即是父进程的子进程),将被转交给Init进程托管。于是父进程与孙子进程无继承关系了,它们的父进程均为Init,Init进程在其子进程结束时会自动收尸,这样也就不会产生僵死进程了

(4)方案四:kill 父进程:

严格地来说,僵死进程并不是问题的根源,罪魁祸首是产生出大量僵死进程的那个父进程。因此,当我们寻求如何消灭系统中大量的僵死进程时,答案就是把产生大量僵死进程的那个元凶枪毙掉(也就是通过 kill 发送 SIGTERM 或者 SIGKILL 信号啦)。枪毙了元凶进程之后,它产生的僵死进程就变成了孤儿进 程,这些孤儿进程会被 init 进程接管,init 进程会 wait() 这些孤儿进程,释放它们占用的系统进程表中的资源,这样,这些已经僵死的孤儿进程就能瞑目而去了。

http://www.hrbkazy.com/news/54376.html

相关文章:

  • 小游戏网站欣赏宁德网站建设制作
  • wordpress外链图片自动seo优化外包顾问
  • 温州外贸网站企业宣传册模板
  • 网站建设制作浩森宇特北京网站推广营销策划
  • 网站微信认证费用seo推广培训中心
  • 网站建设工具开源广告营销推广方案
  • 网站流量和带宽最新的疫情情况
  • 任何人任意做网站销售产品违法吗优化搜狗排名
  • 网页设计 公司四川seo快速排名
  • 网站设计点评推蛙网络
  • 驻马店做网站哪家好浙江seo公司
  • 济南网站建设套餐seo工作内容
  • 网站怎么设置二级域名关键词推广营销
  • 网站搜索引擎怎么做福建百度seo排名点击软件
  • 请人做网站seo外链发布技巧
  • 二维码网页制作免费网站制作搜索引擎大全排名
  • 双桥区网站制作网络推广怎么做好
  • 河南省建设监理协会官网站百度小程序关键词优化
  • 旅游网站建设公司seo基础教程视频
  • 哈尔滨模板建站源码深圳网络推广建站
  • 淘宝店有给网站做优化am谷歌seo招聘
  • 京东不让卖网站制作么sem分析
  • 徐汇专业做网站天津seo排名公司
  • 浏览器被病毒网站绑了怎么做seo代码优化
  • 网络电商培训课程网站设计惠州网络营销公司
  • 网站建设的功能网络推广和seo
  • 网站开发建设收费标准最新域名ip地址
  • 微网站建设方式站牛网是做什么的
  • 网站建设设计报告百度快照投诉中心
  • 变态手游长沙seo代理商