Advertisement

Linux---fork函数和exec函数

阅读量:

这里主要介绍Unix/Linux中进程创建,fork()函数和exec()函数。

这里先介绍一下什么是进程:
程序运行中的每一个实例即为进程。每个进程都拥有独立的内存区域及其运行状态。一旦操作系统将内核数据结构补充完整并分配必要的资源给运行中的程序代码,则该程序自然成为了一个进程。每个进程都拥有自己的内存空间,并包含一个称为线程的核心控制流程。在动态存储的情况下,在进入下一个函数调用时系统会自动为进程中分配内存,在退出该函数调用后则会释放该内存;而静态存储则是在整个进程中保持不变。

进程的状态:

图1 一个简单的操作系统状态图

一、fork() 函数

通过调用fork函数可以生成新的进程中包含了父进程中内存空间的一份拷贝作为基础部分随后在各自的内存空间中继续执行后续指令

复制代码
    #include <unistd.h>
    
    pid_t fork(void);

创建两个完全相同的进程中并没有实际意义。 fork函数返回的值不仅有助于区分父进程中与子进程中自身,并且决定了各自执行的不同代码。 fork函数向子进程中返回0值的

全部评论 (0)

还没有任何评论哟~