http://blog.csdn.net/chdhust/article/details/11872467 服务器进程为何通常fork()两次 ...
分类:
系统相关 时间:
2016-05-14 18:23:47
阅读次数:
199
在创建进程后,为了避免僵尸进程,资源的浪费和进程数量的空闲占据,则需要对进程资源进行回收,这里主要看看wait和waitpid两个进程的功能与区别!!
一、pid_t wait(int *status)
作用(1):清理结束的子进程资源或者得到进程执行后的返回信息;
进程一旦调用了wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出(主要是回收资源),如果让它找到了这样一个已经变成僵尸的子进程,wait就会收集这个子进程的信息,并把它彻底销毁后返回;如果没有找...
分类:
其他好文 时间:
2016-05-13 04:11:09
阅读次数:
271
以前一直对僵尸进程和孤儿进程都没怎么理解,真是罪过,最近在看liunx编程设计(第四版),看到了他们的概念,所以对它们做个总结!加深印象。
基本概念:
我们知道在unix/linux中,正常情况下,子进程是通过父进程创建的,子进程再创建新的进程。子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束。 当一个 进程完成它的工作终止之后,它的父进程需要调用wait()或者waitpid()系统调用取得子进程的终止状态。
但是如果情况...
分类:
系统相关 时间:
2016-05-13 03:02:11
阅读次数:
310
1.关于SIGCHLD信号wait和waitpid函数清理僵尸进程,父进程可以阻塞等待子进程结束,也可以阻塞地查询是否有进程结束等待清理(也就是轮询的方式)。采用第一种方式,父进程阻塞就不能处理自己的工作了。采用第二种方式,父进程在处理自己的工作时还记得时不时轮询一下,程序实现..
分类:
其他好文 时间:
2016-05-07 16:50:36
阅读次数:
501
SIGCHID:子进程在终止时会给父进程发SIGCHLD信号,该信号的默认处理动作是忽略,父进程可以自定义SIGCHLD信号的处理函数,这样父进程只需专心处理自己的工作,不必关心子进程了,子进程终止时会通知父进程,父进程在信号处理函数中调用wait清理子进程即可。要想不产生僵尸进程还有另..
分类:
其他好文 时间:
2016-05-07 01:18:49
阅读次数:
169
background: unix: 每个子进程退出,内核释放该进程所有资源,打开的文件,占用的内存 保留的信息:the process ID,the termination status of the process,the amount of CPU time taken by the proce ...
分类:
系统相关 时间:
2016-04-25 22:50:11
阅读次数:
246
基础知识默认情况下,线程被创建成可结合的。为了避免存储器泄漏,每个可结合线程都应该被显示回收,即调用pthread_join,或通过调用pthread_detach函数被分离。1)如果一个可结合线程运行结束但没有被join,则它的状态类似与僵尸进程。2)若调用pthread_join后,该线程还没有..
分类:
编程语言 时间:
2016-04-20 18:18:42
阅读次数:
324
僵尸进程:在子进程未退出的情况下,父进程退出,子进程被init进程接管,但是子进程将不会正常退出,退出后也不会被收回该进程的资源,所以这种情况应该被避免,否则数量多了以后系统资源将被消耗完.为了避免这种情况可以是用vfork函数进行子进程的派生,或者在父进程中使用一下函数来等待子进程的退出: 头文件 ...
分类:
系统相关 时间:
2016-04-17 13:10:18
阅读次数:
166
1、前言 之前在看《unix环境高级编程》第八章进程时候,提到孤儿进程和僵尸进程,一直对这两个概念比较模糊。今天被人问到什么是孤儿进程和僵尸进程,会带来什么问题,怎么解决,我只停留在概念上面,没有深入,倍感惭愧。晚上回来google了一下,再次参考APUE,认真总结一下,加深理解。 2、基本概念 我 ...
分类:
系统相关 时间:
2016-04-13 18:43:43
阅读次数:
366
stat 中的参数意义如下: D 不可中断 Uninterruptible(usually IO) R 正在运行,或在队列中的进程 S 处于休眠状态 T 停止或被追踪 Z 僵尸进程 W 进入内存交换(从内核2.6开始无效) X 死掉的进程 < 高优先级 n 低优先级 s 包含子进程 + 位于后台的进 ...
分类:
其他好文 时间:
2016-04-06 12:59:30
阅读次数:
167