一、IO模型 1、IO模型分类 1.阻塞IO blocking IO 2.非阻塞IO nonblocking IO 3. 多路复用IO multiplexing 4.信号驱动IO signal driven IO (工作中不会使用到,只是作为了解) 5.异步IO asynchronous IO 2、 ...
分类:
编程语言 时间:
2017-07-21 19:47:40
阅读次数:
207
终结父进程,子进程变孤儿进程,孤儿进程会被init进程领养 编译运行 ...
分类:
系统相关 时间:
2016-08-31 02:14:31
阅读次数:
281
1、管道(pipe)特点a>.通过pipe建立通信管道,fork创建子进程(传递文件描述符),且这种关系只能由父进程建立,局限于有血缘关系的进程间的通讯;b>.管道是文件,并且只存于内存中,当进程终结时,管道也消失;c>.管道只能是单向通信,一端输入,另一端输出;d>...
分类:
其他好文 时间:
2016-04-13 00:42:42
阅读次数:
170
接着上一文,我们看一下do_fork()函数:long do_fork(unsigned long clone_flags,
unsigned long stack_start,
struct pt_regs *regs,
unsigned long stack_size,
int __user *parent_tidp...
分类:
系统相关 时间:
2015-06-17 09:46:19
阅读次数:
179
signal(SIGCHLD, SIG_IGN)和signal(SIGPIPE, SIG_IGN);signal(SIGCHLD, SIG_IGN);因为并发服务器常常fork很多子进程,子进程终结之后需要服务器进程去wait清理资源。如果将此信号的处理方式设为忽略,可让内核把僵尸子进程转交给in....
分类:
其他好文 时间:
2014-10-24 18:24:50
阅读次数:
176
孤儿进程和僵尸进程
正常的子进程fork其父进程后,二者建立父子关系。
当子进程终结时,它会通知父进程,并清空自己所占据的内存,并在kernel里留下自己的退出信息(exit code,如果顺利运行,为0;如果有错误或异常状况,为>0的整数)。在这个信息里,会解释该进程为什么退出。父进程在得知子进程终结时,有责任对该子进程使用wait系统调用。这个wait函数能从ke...
分类:
系统相关 时间:
2014-09-26 10:59:58
阅读次数:
269
序
僵死(zombie)进程简而言之就是:子进程退出时,父进程并未对其发出的SIGCHILD信号进行适当处理,导致子进程停留在僵死状态等待其父进程为其收尸,这个状态下的子进程就是僵死进程。
因为并发服务器常常fork很多子进程,子进程终结之后需要服务器进程去wait清理资源。对于某些进程,特别是服务器进程往往在请求到来时生成子进程处理请求。如果父进程不等待子进程结束,子进程将成为僵尸进程(zo...
分类:
系统相关 时间:
2014-05-25 06:12:34
阅读次数:
313