首页 > 其他 > 详细

exec

时间:2015-12-01 22:38:51      阅读:335      评论:0      收藏:0      [点我收藏+]

exec

    • 可加载可执行文件(ELF)或具有X权限的脚本
    • exec并不创建新进程,调用exec前后该进程id并未改变。
    • 进程调用exec函数以执行另一个程序,当前进程的用户空间代码和数据完全被新程序替代,从新程序启动例程开始执行。

#include <unistd.h>

extern char **environ;

int execl(const char *path, const char *arg, ...);

int execlp(const char *file, const char *arg, ...);

int execle(const char *path, const char *arg, ..., char * const envp[]);

int execv(const char *path, char *const argv[]);

int execvp(const char *file, char *const argv[]);

int execvpe(const char *file, char *const argv[], char *const envp[]);

  • 不带字母p(标识path)的exec函数,第一参数必须是程序相对路径或绝对路径,eg. /bin/ls 或./a.out,而不能是ls或a.out。
  • 对于带p的函数,包含/,表路径名;无路径在PATH列表中搜索程序。
  • argv第一参数为程序名,最后一参数为NULL。
  • l的函数要求将新程序的每个命令行参数都当作一个参数传给它,参数个数可变。

失败-1,成功不返回。

exec

原文:http://www.cnblogs.com/embedded-linux/p/5011282.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!