UNIX系统编程:程序执行与进程管理详解
一、程序执行的第二步:加载并执行程序
在UNIX系统中,程序执行的第二步是将程序加载到内存并开始执行其中的指令。这可以通过一系列被统称为 exec 的函数来实现。相关函数原型如下:
#include <unistd.h>
int execl(const char *path, const char *arg0, ..., const char *argn, char * /*NULL*/);
int execv(const char *path, const char *argv[]);
int execle(const char *path, const char *arg0, ..., const char *argn, char * /*NULL*/, const char *envp[]);
int execve(const char *path, const char *argv[], const char *envp[]);
int execlp(const char *file, const char *arg0, ..., const char *argn, char * /*NULL*/);
int execvp(const char *file, const char *argv[], const char *envp[]);
exec 函数的各种形式都会用新程序的映像覆盖调用进程的映像。新进程映像是由普通可执行文件构建的,这些文件可以是编译器生成的目标文件,也可以是解释器(如
超级会员免费看
订阅专栏 解锁全文
1134

被折叠的 条评论
为什么被折叠?



