在 Linux 中,esec 并不是一个标准的函数或命令。您可能是在询问关于 exec 系列的函数,这些函数在 Linux 中用于在当前进程中执行一个新的程序。
exec 系列的函数有以下几种:
∙execl
∙execle
∙execlp
∙execv
∙execvp
这些函数的区别在于查要执行的程序的方式不同:
∙execl, execle, execv 需要接受完整的路径来到要执行的程序。
∙execlp, execvp 则会在环境变量 PATH 指定的目录中查要执行的程序。
这些函数的原型如下:
c复制代码
int exec(const char *path, char *const argv[], char *const envp[]); | |
int execv(const char *path, char *const argv[], char *const envp[]); | |
int execle(const char *path, const char *file, char *const argv[], char *const envp[]); | |
int execlp(const char *file, const char *file, char *const argv[], char *const envp[]); | |
int execvp(const char *file, char *const argv[], char *const envp[]); | |
这些函数的参数如下:
∙path, file: 要执行的程序的路径。如果为 NULL,那么会使用 PATH 环境变量来查。
∙argv: 一个字符串数组,指定要执行的程序及其参数。最后一个元素必须是一个空指针,以标识数组的结束。
∙envp: 一个字符串数组,指定新的环境变量。也可以传入 NULL 来使用当前的环境变量。
这些函数会替换当前进程的映像为一个新的程序,并从该程序的 main 函数开始执行。这意味着原来的程序会被终止,除非发生错误或使用了特殊的技巧来保留原程序的状态。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论