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 execve(const char *path, char *const argv[], char *const envp[]);
这六个函数的可以这样区分:
1、带 l 的表示参数要以list的方式给出,就是每个参数都用逗号分割,多个参数就给多个字符串
2、带 v 的表示参数用vector的方式给出,即一个字符串数组指针
3、带 p 的表示被调用的外部命令可以写成相对路径的方式,函数会到PATH环境变量中去搜索
4、带 e 的表示可以自定义环境变量
OK,现在应该已经清楚了,要注意的是,如果我们要求被调用的命令继承调用者的环境变量上下文,那么,可以用execv, execvp这样的函数;如果用了execve这样的函数,那么,千万注意第三个参数,即环境变量列表不能为NULL,如果为NULL,那么被调用的命令 就无法得到调用者的环境变量列表,如果要用execve这样的函数,要先保存当前的环境变量,然后再加入自定义的环境变量,最后放在第三个参数上。
转载于:https://www.cnblogs.com/super119/archive/2011/04/05/2005603.html
exec函数组六个函数的用法和区别相关推荐
- Linux0.11 execve函数(六)
系列文章目录 Linux 0.11启动过程分析(一) Linux 0.11 fork 函数(二) Linux0.11 缺页处理(三) Linux0.11 根文件系统挂载(四) Linux0.11 文件 ...
- Python 精要参考(第二版) 第六章 函数与函数编程
1. 第六章 函数与函数编程 为便于代码维护,绝大多数子程序都被分解并重新组织为函数以使代码模块化. 在 Python中定义一个函数很简单,Python从其它函数编程语言中借鉴了很多有用的思路用来简化 ...
- oracle开窗函数是什么,ORACLE数据库(六)-----开窗函数
ORACLE数据库(六)-----开窗函数 开窗函数又名分析函数.窗口函数.OLAP(数据分析)函数 聚合函数:将数据按照一定的规则分组,统一分析各组的某项情况,每个分组返回一行结果 开窗函数:将数据 ...
- jmeter 计数器_jmeter函数(六)
JMeter提供了很多函数,如果能够熟练使用,可以为脚本带来很多方便. JMeter函数是一种特殊值,可用于除测试计划外的任何组件. 函数调用的格式如下所示: ${__functionName(var ...
- 《C++ Primer》读书笔记—第六章 函数
声明: 文中内容收集整理自<C++ Primer 中文版 (第5版)>,版权归原书所有. 学习一门程序设计语言最好的方法就是练习编程 一.函数基础 1.一个典型的函数定义包括以下内容:返回 ...
- pandas使用groupby.first函数、groupby.nth(0)函数获取每个组中的第一个值实战:groupby.first函数和groupby.nth函数对比(对待NaN的差异)
pandas使用groupby.first函数.groupby.nth(0)函数获取每个组中的第一个值实战:groupby.first函数和groupby.nth函数对比(对待NaN的差异) 目录
- 我的MYSQL学习心得(六) 函数
2019独角兽企业重金招聘Python工程师标准>>> 这一节主要介绍MYSQL里的函数,MYSQL里的函数很多,我这里主要介绍MYSQL里有而SQLSERVER没有的函数 数学函数 ...
- SAP 开发陷阱一箩筐(01)——创建了函数组却无法激活
SAP 的 ABAP 工作台功能强大,而且互相之间的交叉关联导航做得非常好,使用熟练了相当方便.但是,有些地方的设计却因为平台限制而有点别扭,尤其容易给初学者造成困扰,本专辑就收集我在学习过程中遇到的 ...
- C语言试题二十三之编写一个函数void function(int tt[m][n],int pp[n]),tt指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中
1. 题目 请编写一个函数void function(int tt[m][n],int pp[n]),tt指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中.二 ...
最新文章
- 华为云客户端_华为云新一代S6云服务器缘何深受中小企业青睐?
- GBDT算法原理及附有源码实现的 转
- IE提示“存储空间不足,无法完成此操作”的错误
- 【译】canvas笔触魔法师
- 使用ftp上传文件到Unix系统注意事项
- 深度学习之 RPN(RegionProposal Network)- 区域候选网络
- 关于 C++ 中输入输出的猜想
- 罗马音平假名片假名转换器_零基础日语萌新该如何学习五十音?
- 每 2.35 个月开发一款新游戏,这个公司是如何做到的?
- OpenCV精进之路(十九):工具——程序打包发布
- suse 查看java版本_如何查看当前Linux的版本
- UE虚幻引擎云渲染支持8K方案
- 黑灰对比可以为高大上网站风格代言
- ikbc c104win键盘失灵以及数字键失灵
- Aptos VS Sui,盘点两大 Move 系新公链的创新异同
- dblink(dblink是什么意思)
- windows2003服务精简方案
- RISC和CISC,究竟有何不同?
- php定义常量的关键字,PHP常量
- 伺服控制硬件电流环FPGA方案
热门文章
- WebSphere Application Server中manageprofiles的使用
- [七月挑选]使用idea创建spring boot 项目
- 测试Varnish缓存服务器与IIS连接数
- php alert 乱码
- 手把手教你使用Gene6FTP远程管理
- 盖茨:即使收购雅虎失败也要对决谷歌
- Android必知必会-Android Studio下配置和使用Lambda
- android 启动速度优化终极方案
- 【剑指offer-Java版】21包含min函数的栈
- wireshark网络分析就这么简单_【读书笔记】2wireshark网络分析就这么简单——不同子网如何发送消息。...