文档章节

excel()函数

souldepth
 souldepth
发布于 2014/04/08 18:49
字数 1261
阅读 93
收藏 7

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中。 范例 #include<unistd.h> main() { execl(“/bin/ls”,”ls”,”-al”,”/etc/passwd”,(char * )0); } 执行 /*执行/bin/ls -al /etc/passwd */ -rw-r--r-- 1 root root 705 Sep 3 13 :52 /etc/passwd  

execlp(从PATH 环境变量中查找文件并执行) 相关函数 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()。 范例 /* 执行ls -al /etc/passwd execlp()会依PATH 变量中的/bin找到/bin/ls */ #include<unistd.h> main() { execlp(“ls”,”ls”,”-al”,”/etc/passwd”,(char *)0); } 执行 -rw-r--r-- 1 root root 705 Sep 3 13 :52 /etc/passwd  

execv(执行文件) 相关函数 fork,execl,execle,execlp,execve,execvp 表头文件 #include<unistd.h> 定义函数 int execv (const char * path, char * const argv[ ]); 函数说明 execv()用来执行参数path字符串所代表的文件路径,与execl()不同的地方在于execve()只需两个参数,第二个参数利用数组指针来传递给执行文件。 返回值 如果执行成功则函数不会返回,执行失败则直接返回-1,失败原因存于errno 中。 错误代码 请参考execve()。 范例 /* 执行/bin/ls -al /etc/passwd / #include<unistd.h> main() { char * argv[ ]={“ls”,”-al”,”/etc/passwd”,(char) }}; execv(“/bin/ls”,argv); } 执行 -rw-r--r-- 1 root root 705 Sep 3 13 :52 /etc/passwd  

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

  1. 欲执行的文件不具有用户可执行的权限。
  2. 欲执行的文件所属的文件系统是以noexec 方式挂上。 3.欲执行的文件或script翻译器非一般文件。 EPERM 1.进程处于被追踪模式,执行者并不具有root权限,欲执行的文件具有SUID 或SGID 位。 2.欲执行的文件所属的文件系统是以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翻译器有问题。 范例 #include<unistd.h> main() { char * argv[ ]={“ls”,”-al”,”/etc/passwd”,(char *)0}; char * envp[ ]={“PATH=/bin”,0} execve(“/bin/ls”,argv,envp); } 执行 -rw-r--r-- 1 root root 705 Sep 3 13 :52 /etc/passwd  

execvp(执行文件) 相关函数 fork,execl,execle,execlp,execv,execve 表头文件 #include<unistd.h> 定义函数 int execvp(const char *file ,char * const argv []); 函数说明 execvp()会从PATH 环境变量所指的目录中查找符合参数file 的文件名,找到后便执行该文件,然后将第二个参数argv传给该欲执行的文件。 返回值 如果执行成功则函数不会返回,执行失败则直接返回-1,失败原因存于errno中。 错误代码 请参考execve()。 范例 /请与execlp()范例对照/ #include<unistd.h> main() { char * argv[ ] ={ “ls”,”-al”,”/etc/passwd”,0}; execvp(“ls”,argv); } 执行 -rw-r--r-- 1 root root 705 Sep 3 13 :52 /etc/passwd

本文转载自:

共有 人打赏支持
souldepth
粉丝 4
博文 62
码字总数 36976
作品 0
厦门
高级程序员
怎样学好excel函数?

很多人认为excel很简单。说这种话的只有两种人:一种是excel高手,二种是还没有入门的菜鸟。但我今天说的不是笼统的excel,而是excel中的函数功能。如果你已经有想法要系统学习函数时,说明你...

曾贤志
2016/02/02
0
0
【视频】oeasy教你玩转Excel2007视频教程

excel函数、excel数据、excel排序、excel学习、excel透视、excel使用、excel技巧、excel应用、excel教程、excel很好玩、excel用法。 Excel常见使用误区,一门课程同时学会软件用法和正确工作...

么么哒lalala
2016/01/07
23
0
【视频】循序渐进学Excel 2007系列视频教程

《循序渐进学Excel 2007》系列视频教程共分22集,约6个半小时,系统地介绍了Excel 2007各方面功能的基础知识,还专门分享了许多Excel高手的学习经验,是广大Excel初级用户不可多得的理想学习...

么么哒lalala
2016/01/07
9
0
基于 poi 的 Excel 操作组件--Excel4J

Excel4J 是基于 poi 的 excel 操作组件,大大减少代码量,提高开发效率。 基于注解 @ExcelField(title = "学号", order = 1)private Long id;@ExcelField(title = "姓名", order = 2)privat...

Crab2Died
2017/06/16
3.8K
8
介绍一款开源的类Excel电子表格软件

Excel一直以霸主的地位,占据了Windows桌面表格软件市场No 1,与此同时,Office套装产品几乎成为了IT行业的标配办公技能。有无类似Excel的桌面程序,绿色版,实现基本的数据编辑功能呢? 假如...

葡萄城控件技术团队
2014/10/09
2.8K
2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

阿里云API网关使用教程

API 网关(API Gateway)提供高性能、高可用的 API 托管服务,帮助用户对外开放其部署在 ECS、容器服务等阿里云产品上的应用,提供完整的 API 发布、管理、维护生命周期管理。用户只需进行简...

mcy0425
23分钟前
3
0
解决远程登陆误按ctrl+s锁屏假死恢复

使用putty时,偶尔发生屏幕假死,不能输入等情况。 后来发现,只要数据ctrl+s,就会假死;输入ctrl+q就可以恢复过来。 很多刚从windows转移到linux上来工作的朋友,在用vi/vim编辑文件时,常常...

HJCui
26分钟前
0
0
@Transactional

事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编程式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于...

asdf08442a
31分钟前
2
0
widows下强制解除8080端口占用问题

使用win+R打开命令窗口 输入以下命令查看哪个任务占用了8080端口 netstat -ano |findstr "8080" 然后通过任务id强制关闭占用该端口的进程 tskill 10044 // 自己的试情况而定,这个ID是LISTE...

_Artisan
40分钟前
2
0
productFlavors简单实用

最近项目中,不同环境需要配置的参数越来越多,为了减少修改代码次数。研究了一下productFlavors的使用方式,总结如下 1. as3.0以上版本使用productFlavors时需要指定一个flavorDimensions,...

火云
42分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部