分类:linux2013-01-14 22:111867人阅读评论(0)收藏举报linux进程和信号 僵尸进程unixUNIXUnix僵尸进程的产生:当一个进程创建了一个子进程时,他们的运行时异步的。即父进程无法预知子进程会在什么时候结束,那么如果父进程很繁忙来不及wait 子进程时,那么当子进程结...
分类:
系统相关 时间:
2015-05-15 07:53:35
阅读次数:
306
什么是僵尸进程?首先内核会释放终止进程(调用了exit系统调用)所使用的所有存储区,关闭所有打开的文件等,但内核为每一个终止子进程保存了一定量的信息。这些 信息至少包括进程ID,进程的终止状态,以及该进程使用的CPU时间,所以当终止子进程的父进程调用wait或waitpid时就可以得到这些信息。而僵...
分类:
系统相关 时间:
2015-05-14 18:27:56
阅读次数:
160
孤儿进程和僵尸进程:
如果父进程先退出,子进程还没退出那么子进程的父进程将变成init进程(任何一个进程都有一个父进程)
如果子进程先退出,父进程还没有退出,那么子进程必须要等到父进程捕获到了子进程的退出状态才真正结束,否则这个时候子进程就成为僵尸进程。
如果父进程先结束,子进程会托孤给1号进程
怎样避免僵尸进程呢?是由于父进程没有给子进程收尸,怎么解决这个...
分类:
系统相关 时间:
2015-05-13 10:36:13
阅读次数:
174
本文转载自:http://www.cnblogs.com/anker/p/3271773.html1、前言 之前在看《unix环境高级编程》第八章进程时候,提到孤儿进程和僵尸进程,一直对这两个概念比较模糊。今天被人问到什么是孤儿进程和僵尸进程,会带来什么问题,怎么解决,我只停留在概念上面,没有深入....
分类:
系统相关 时间:
2015-04-28 22:28:38
阅读次数:
297
僵尸进程定义与查找 在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他, 那么他将变成一个僵尸进程. 在fork()/execve()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没...
分类:
系统相关 时间:
2015-04-27 11:29:22
阅读次数:
201
一个僵尸进程产生的过程是:父进程调用fork创建子进程后,子进程运行至其终止。进程终止后有些信息对于父进程和内核还是很有用的,例如进程的ID号、进程的退出状态、进程运行的CPU时间等。因此进程运行终止后,系统会回收所有内核分配给它的内存、关闭它所打开的文件等,但是还会保留以上极少的信息,以供父进程使用,系统会向父进程发送SIGCHLD信号,父进程应及时调用wait函数来为子进程收尸,做一些收尾工作...
分类:
编程语言 时间:
2015-04-20 09:25:58
阅读次数:
193
1、wait和waitpid出现的原因SIGCHLDq 当子进程退出的时候,内核会向父进程发送SIGCHLD信号,子进程的退出是个异步事件(子进程可以在父进程运行的任何时刻终止)q 子进程退出时,内核将子进程置为僵尸状态,这个进程称为僵尸进程,它只保留最小的一些内核数据结构,以便父进程查询子进程的退...
分类:
系统相关 时间:
2015-04-16 17:15:17
阅读次数:
163
结束僵尸进程命令:ps-A-ostat,ppid,pid,cmd|grep-e‘^[Zz]‘
分类:
系统相关 时间:
2015-04-14 14:50:17
阅读次数:
256
说到UNIX编程,有一个问题不得不说,那就是僵尸进程问题。如果你在简历上写了熟悉UNIX、Linux编程,恐怕面试官十有八九会问到僵尸进程问题。对于一个长期运行的服务器来说,僵尸是非常可怕的,编程上的疏忽导致僵尸进程的产生,随着时间的推移僵尸进程会越来越多,最终对服务器性能造成明显的影响。因此了解僵...
分类:
系统相关 时间:
2015-04-14 01:57:29
阅读次数:
229
创建一个线程默认的状态是joinable, 如果一个线程结束运行但没有被join,则它的状态类似于进程中的Zombie Process(僵尸进程),即还有一部分资源没有被回收(退出状态码),所以创建线程者应该调用pthread_join来等待线程运行结束,并可得到线程的退出代码,回收其资源(类似于w...
分类:
其他好文 时间:
2015-04-13 12:37:32
阅读次数:
184