摘要: 8.8 wait3和wait4函数-进程控制 wait3和wait4提供的功能比wait、waitpid和waitid所提供的功能要多一个,这与附加参数rusage有关。该参数要求内核返回由终止进程及其所有子进程使用的资源汇总。 #include #include #include #include pid_t wait3(int *statloc, int options, struct ru... 阅读全文
posted @ 2011-10-19 19:43 郭—大—侠 阅读(470) 评论(0) 推荐(0) 编辑
摘要: 8.7 waitid函数-进程控制 waitid函数类似于waitpid,但提供了更多的灵活性。 #include int waitid(idtype_t idtype, id_t id, siginfo_t *infop. int options);//返回值:成功返回0,出错返回-1与waitpid相似,waitid允许一个进程指定要等待的子进程。但它使用单独的参数表示要等待的子进程的类型... 阅读全文
posted @ 2011-10-19 19:42 郭—大—侠 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 8.6 wait和waitpid函数-进程控制 当一个进程正常或异常终止时,内核就向其父进程发送SIGCHLD信号。因为子进程终止是个异步事件(这可以在父进程运行的任何时候发生),所以这种信号也是内核向父进程发的异步通知。父进程可以忽略该信号,或者提供一个该信号发生时即被调用执行的函数(信号处理程序)。对于这种信号的系统默认动作是忽略它。第1 0章将说明这些选择项。现在需要知道的是调用wait或w... 阅读全文
posted @ 2011-10-19 19:40 郭—大—侠 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 8.5 exit函数-进程控制 如同7 . 3节所述,进程有三种正常终止法及两种异常终止法。 (1) 正常终止: a) 在main函数内执行return语句。如在7 . 3节中所述,这等效于调用exit。 b) 调用exit函数。此函数由ANSI C定义,其操作包括调用各终止处理程序(终止处理程序在调用a t exit函数时登录),然后关闭所有标准I / O流等。因为ANSI C并... 阅读全文
posted @ 2011-10-19 19:39 郭—大—侠 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 8.4 vfork函数-进程控制 vfork函数的调用序列和返回值与fork相同,但两者的语义不同。 vfork用于创建一个新进程,而该新进程的目的是exec一个新程序(如上节(2) 中一样)。程序1 - 5中的shell基本部分就是这种类型程序的一个例子。vfork与fork一样都创建一个子进程,但是它并不将父进程的地址空间完全复制到子进程中,因为子进程会立即调用exec (或exit ),于是... 阅读全文
posted @ 2011-10-19 19:37 郭—大—侠 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 8.3 fork函数-进程控制 一个现有进程可以调用fork函数创建一个新进程。 #include pid_t fork(void);//返回值:子进程中返回0,父进程中返回子进程ID。出错返回-1.由fork创建的新进程被成为子进程child process。fork函数被调用一次,但是返回两次,两次返回的唯一区别是子进程的返回值是0,而父进程的返回值是新子进程的进程ID。将子进程ID返回 父... 阅读全文
posted @ 2011-10-19 19:35 郭—大—侠 阅读(236) 评论(0) 推荐(0) 编辑