摘要: vfork用于创建一个新进程,而该进程的目的就是exec一个新程序。vfork和fork均创建一个子进程,但是vfork并不将父进程的地址空间完全复制到子进程中,因为子进程会调用exec(或exit),于是也就不会访问改地址空间。在子进程调用exec或exit之前,它继续在父进程的空间中运行。 vfork和fork之间的另一个区别:vfork保证子进程先运行。在子进程调用exec或exit之后,父进程才可能被调度运行。 1 #include <stdlib.h> 2 #include <unistd.h> 3 #include <sys/types.h> 4 阅读全文
posted @ 2013-06-03 15:48 life91 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 信号驱动式I/O是指进程预先告知内核,使得当某个描述字上发生某事时,内核使用信号通知相关进程。图1概括展示信号驱动式I/O模型。图1 信号驱动式I/O模型 针对一个进程建立一个相关进程的处理函数,需要通过signal()函数来建立。 基本信号:(linux 控制台中输入:man 7 signal) SIGINT(值为2,默认动作:terminal):Interrupt from keyboard。 SIGTERM(值为15,默认动作:terminal):Termination signal SIGCHILD(值为20,17,28,默认动作:ignore):child stoppe... 阅读全文
posted @ 2013-06-03 11:01 life91 阅读(266) 评论(0) 推荐(0) 编辑