进程控制原语:fork、wait、waitpid及相关的 wait 和 exec 命令
发布时间
阅读量:
阅读量
进程(Process)表示计算机中程序对某数据集合的一次运行活动,在系统中承担着资源分配与调度的关键功能,并构成操作系统结构的核心要素。
头文件
#include <unistd.h>
函数定义
pid_t fork(void);
函数特点:调用一次,返回两次。
在父进程中,返回创建的子进程的pid;在子进程中返回0;出错,返回-1。
1.子进程复制了父进程的PCB(除了pid)和代码段以及数据区。
通过fork指令生成的子进程在其运行过程中将执行与父进程相同的主程序(尽管可能切换到不同的代码路径)。这些子进程中会调用一个称为exec的系统调用来启动另一个独立的程序。当某个进程中使用 exec时... 该进程中所在的ID不会发生变更。
注:父子进程共享代码段,但是分别拥有自己的数据段和堆栈段
子进程可借助getppid函数取得其直接上级的ID;而进程则可通过getpid函数获取自身的ID。
每个子进程中止结束后应当由其父进程中止去获取该进程中止终止的状态之后才会彻底回收该子进程中止占用的系统资源因此每个进程中止都必须存在有父进程中止的情况。如果一个真正的父进程中止提前终止这时的子进程中停止就会被称为"孤儿([init])([process])([init-process])([init-processes])([init-processes])([
全部评论 (0)
还没有任何评论哟~
