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

佛山网站哪家最专业监控安防的网站怎么做

佛山网站哪家最专业,监控安防的网站怎么做,wordpress什么意思,开发一款购物app需要多少钱概念 在 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.yayakq.cn/news/268919/

相关文章:

  • 月子会所网站建设方案网站直接做标准曲线
  • 滴滴网站建设流程图net网站建设语言
  • 网站建设项目内控单中国建筑装饰网怎么样
  • 光聚济南网站建设建站公司电话
  • 载带 东莞网站建设公司网站制作风格
  • 医疗机械网站怎么做网站被网站建设的人控制了
  • 网站上传服务器后台上传资料出错手机网站跳出率低
  • 潍坊哪个网站建设公司好农业电商网站建设ppt
  • 怎样办网站做宣传网站建设通俗讲
  • 网站域名需要每年续费好看的免费的小说网站模板
  • 东莞做网站哪家最好漫画网站源码
  • 学网站开发技术做ppt的模板网站
  • 访问中国建设银行网站怎样找做淘宝客的网站
  • 上海中企动力做网站多少钱如何给网站做推广
  • 计算机应用技术(网站开发)做短视频网站收益
  • 网站建设l临沂手机wordpress加载图片慢
  • 四川内江网站建设深圳网络服务有限公司
  • 网站维护页面模版怎么申请自己的网站网址
  • wordpress网站迁移教程网络推广代运营公司
  • 网站域名已经被绑定邢台网站建设服务商
  • 旅游网站官网网站建设的需求客户
  • 章丘建设局网站wordpress安装地址修改
  • 河南网站推广公司模板手机网站建设
  • 电脑版传奇网站网站域名备案多长时间
  • jsp网站开发实例视频flash网站需要改变
  • php网站后台密码怎么修改百度推广电话号码
  • 网站推广设计下载的网站模板怎么使用
  • 怎么做网站二维码企业视觉形象设计
  • 做百度网站排名软件网站 点击率
  • 做公众号推文的网站seo工程师招聘