浅谈 upstart 和 孤儿进程问题!!!
来源:互联网 发布:mac玩使命召唤 编辑:程序博客网 时间:2024/06/06 08:55
这是好久之前看的了,我那个时候就有一个问题没有弄清楚,现在总算是明白了一点点,总比没有明白强吧,
首先我得说一下我使用的系统 是 Ubuntu 14:04.5 X64 。
为什么要说一下系统呢,因为我的问题的出现就是根据系统而来的。
首先我想说一下孤儿进程,进程有很多,我都快忘记了,例如 僵尸进程,孤儿进程,父进程,子进程,等等。
在这里我想说的是孤儿进程:
首先说明一下孤儿进程的出现,在父进程结束的时候他创建出来的子进程没有结束,这个时候子进程没有了父亲
他就称为了孤儿,这个进程就是孤儿进程了,这样说的话应该能明白一点吧。
但是无论是什么进程都有死亡的时候,死亡就代表着要释放空间也就是资源,但是这个资源是需要一些进程回收的。
例如 :父进程中子进程死亡了,父进程就会回收子进程的资源,父进程死亡了,int进程就会回收他的资源,
但是如果父进程死亡了。子进程还没有死亡,这个时候是谁回收他的资源呢?
我的问题便是在这里开始的 :
我记得老说说过,父进程如果在子进程还没有回收之前就死亡了,他就会成为孤儿进程会被init进程收养。
在子进程死亡的时候init进程就会代替子进程的父进程把子进程的资源回收。
我一开始听的听明白的。但是我使用我的系统敲一遍这个过程,发现我的回收是不对的,为什么会出现这样的问题呢?我也在反思,我的代码思想是 :首先产生一个子进程,调用fork函数,这个函数的返回值不同进程判断代码是在父进程中还是在子进程中,在父进程中的代码让父进程立即死亡,而在子进程中的代码是让他先睡一会,之后再让他执行,最后给他一个无线循环,不让子进程死亡。子进程的死亡使用kill -9命令进程杀死。但是在子进程存在的时候我要看看子进程的父进程是谁,发现子进程的父进程ID != 1 这个是我最大的疑点,所以我重新敲打了一遍代码,发现还是这个问题,而且有时候这个ID还会变化。
后来我问别人发现是由于系统的原因,准确的说是内核的原因,这样的事情主要都是在Ubuntu 2006 年以后的版本中出现
我进而知道了 upstart 进程 :
这个进程的用处 :
- 更快地启动系统
- 当新硬件被发现时动态启动服务
- 硬件被拔除时动态停止服务
- 浅谈 upstart 和 孤儿进程问题!!!
- Ubuntu15.04 删除/sbin/upstart与孤儿进程收养的问题
- 父子进程ID和进程收养问题(init与upstart)
- 浅谈三种特殊进程:孤儿进程,僵尸进程和守护进程
- 孤儿和僵尸进程
- 孤儿进程和僵尸进程
- 僵尸进程和孤儿进程
- 孤儿进程和僵尸进程
- 孤儿进程和僵尸进程
- 僵死进程和孤儿进程
- 僵尸进程和孤儿进程
- 孤儿进程和僵尸进程
- 僵尸进程和孤儿进程
- 僵尸进程和孤儿进程
- 孤儿进程和守护进程
- 孤儿进程和守护进程
- 僵尸进程和孤儿进程
- 僵尸进程和孤儿进程
- PAT A1002. A+B for Polynomials
- java中权限总结
- 字节序理解
- Magento1.9.1.0重要改进之一--邮件异步队列发送
- eclipse中jsp页面.不出现自动提示
- 浅谈 upstart 和 孤儿进程问题!!!
- *LeetCode-Maximum Subarray
- ZOJ - 3816 Generalized Palindromic Number dfs+数位DP+贪心
- 8,String to Integer (atoi)
- 糗事百科爬虫
- 恒生2015实习小结
- OpenMP VS2010 环境配置
- hdu 1498 50 years, 50 colors 二分匹配
- 几个常用的操作系统进程调度算法