标签:转化 用户id 异步操作 进程组id 处理 影响 方式 结束 一个
子进程会继承父进程的一些信息:文件描述符、实际用户ID、实际组ID、有效用户ID、有效组ID、进程组ID、添加组ID、对话期ID、控制终端、设置-用户-ID标志和设置-组-ID标志、当前工作目录、根目录、文件方式创建字、信号屏蔽和排列、对任意打开文件描述大的在执行时关闭标志、环境、共享存储段、资源限制
不继承:父进程设置的锁、
背景:进程有父进程和子进程,父进程和子进程是一个异步操作,父进程无法预估子进程的结束,所以当子进程
结束的时候,父进程会调用wait或者waitpid取得子进程的终止状态,回收子进程的资源
僵尸进程:子进程退出,但是父进程没有通过wait或者waitpid进行回收资源,导致子进程 的资源还在内核中,
这个就成为僵尸进程。进程状态为“Z”
孤儿进程:父进程退出,子进程就成为了孤儿进程,子进程由init进程(进程号PID=1)进行回收
问题影响:
1、僵尸进程的资源没有释放,但是设备的内部资源有限,这样造成了资源浪费
僵尸进程的解决:
1、杀掉父进程,这样僵尸进程就转变为孤儿进程或者fork两次,也是转化为孤儿进程
2、父进程使用wait或者waitpid进行回收资源
3、父进程监听信号量SIGCHLD,然后进行信号处理
标签:转化 用户id 异步操作 进程组id 处理 影响 方式 结束 一个
原文地址:https://www.cnblogs.com/chenfengyijiu/p/14546283.html