Linux C——exec函数族
来源:互联网 发布:js定义关联数组 编辑:程序博客网 时间:2024/05/22 03:15
1.execl函数
相关函数
Fork,execle,execlp,execv,execve,execvp
表头文件
#include <unistd.h>
函数原型
Int execl(const char *path, const char *arg, ...);
函数作用
Execl()用来执行参数path字符串所代表的文件路径,接下来的参数代表执行该文件时传递过去的argv[0], argv[1], ..., 最后一个参数必须用空指针(NULL)做结束
返回值
如果执行成功返回则函数不会返回,执行失败则直接返回-1,失败原因存于errno中
2.execlp函数
相关函数
Fork,execl,execle,execv,execve,execvp
表头文件
#include <unistd.h>
函数原型
Int execlp(const char *file, const char *arg, ...);
函数作用
Execlp()会从PATH环境变量所指的目录中查找查找符合参数file的文件名,找到后便执行该文件,然后将第二个参数以后参数当作该文件的argv[0], argv[1], ..., 最后一个参数必须用空指针(NULL)做结束
返回值
如果执行成功返回则函数不会返回,执行失败则直接返回-1,失败原因存于errno中
错误代码
参考execve()
3.execve函数
相关函数
Fork,execl,execle,execlp,execv,execvp
表头文件
#include <unistd.h>
函数原型
Int execve(const char *filename, char *const argv[], char *const envp[]);
函数作用
Execve()用来执行参数filename字符串所代表的文件路径,第二个参数利用数组指针来传递给执行文件,最后一个参数则为传递给执行文件的新环境变量数组
返回值
如果执行成功返回则函数不会返回,执行失败则直接返回-1,失败原因存于errno中
错误代码
EACCES
①欲执行的文件不具有用户可执行的权限。
②欲执行的文件所属的文件系统是以noexec方式挂上。
③欲执行的文件或script翻译器非一般文件。
EPERM
①进程处于被追踪模式,执行者并不具有root权限,欲执行的文件具有SUID或SGID位。
②欲执行的文件所属的文件系统是以nosuid方式挂上,欲执行的文件具有SUID或SGID位元,但执行者并不具有root权限。
E2BIG 参数数组过大
ENOEXEC 无法判断欲执行文件的执行文件格式,有可能是格式错误或无法在此平台执行。
EFAULT 参数filename所指的字符串地址超出可存取空间范围。
ENAMETOOLONG 参数filename所指的字符串太长。
ENOENT 参数filename字符串所指定的文件不存在。
ENOMEM 核心内存不足
ENOTDIR 参数filename字符串所包含的目录路径并非有效目录
EACCES 参数filename字符串所包含的目录路径无法存取,权限不足
ELOOP 过多的符号连接
ETXTBUSY 欲执行的文件已被其他进程打开而且正把数据写入该文件中
EIO I/O 存取错误
ENFILE 已达到系统所允许的打开文件总数。
EMFILE 已达到系统所允许单一进程所能打开的文件总数。
EINVAL 欲执行文件的ELF执行格式不只一个PT_INTERP节区
EISDIR ELF翻译器为一目录
ELIBBAD ELF翻译器有问题。
4.execvp函数
相关函数
Fork,execl,execle,execv,execve,execlp
表头文件
#include <unistd.h>
函数原型
Int execvp(const char *file, const char *arg[]);
函数作用
Execlp()会从PATH环境变量所指的目录中查找查找符合参数file的文件名,找到后便执行该文件,然后将第二个参数argv传递给该欲执行的文件
返回值
如果执行成功返回则函数不会返回,执行失败则直接返回-1,失败原因存于errno中
错误代码
参考execve()
- Linux C——exec函数族
- 【Linux】进程控制—exec函数族
- Linux下C语言开发(进程控制编程——fork()、exec函数族)
- Linux下C语言开发(进程控制—fork()、exec函数族)
- Linux exec函数族
- Linux exec函数族
- Linux exec函数族
- Linux exec函数族
- linux exec函数族
- linux exec函数族
- Linux exec函数族
- Linux exec函数族
- Linux exec函数族
- linux exec 函数族
- linux exec函数族
- linux exec函数族
- Linux进程控制——exec函数族
- Linux进程控制——exec函数族
- Android之内存优化
- java之冒泡排序
- Windows英文版GitHub客户端使用操作流程图文攻略教程现没中文版
- linux笔记-磁盘及文件系统管理详解
- Unity中HideInInspector和SerializeField
- Linux C——exec函数族
- 在springboot项目中使用jsp试图
- java中instanceof用法
- iOS开发面试知识点总结
- linux笔记-压缩及归档
- ssh新手整合的历程spring+springmvc+hibernate 以及其他 一点奇葩异常的解决过程
- 数据结构看书笔记(五)--串
- 欢迎使用CSDN-markdown编辑器
- SLIC原理简介及VLFeat代码示例