QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 854|回复: 8

exec diao yong de ju ti ge shi

[复制链接]
发表于 2004-5-30 14:42:24 | 显示全部楼层 |阅读模式
exec diao yong de ju ti ge shi shi shen me a ?
发表于 2004-5-30 19:47:35 | 显示全部楼层
exec系列函数调用格式可以用man execl来查看。
回复

使用道具 举报

 楼主| 发表于 2004-5-31 03:40:01 | 显示全部楼层
但是我好多都看不懂啊?
怎么办啊?
比如我要调用一个可执行文件,假设叫file,该怎么调用啊?
谢谢了
回复

使用道具 举报

发表于 2004-5-31 09:50:47 | 显示全部楼层
干脆用system吧,exec还会覆盖当前进程
system("/path/to/file")
回复

使用道具 举报

 楼主| 发表于 2004-5-31 16:26:05 | 显示全部楼层
thanks
回复

使用道具 举报

 楼主| 发表于 2004-5-31 16:45:21 | 显示全部楼层
system("/path/to/file")不覆盖当前进程?
怎么知道]调用了啊?
回复

使用道具 举报

 楼主| 发表于 2004-5-31 16:52:58 | 显示全部楼层
system("/path/to/file")不覆盖当前进程?
怎么知道]调用了啊?
回复

使用道具 举报

发表于 2004-5-31 18:03:50 | 显示全部楼层
不覆盖。
被调用程序运行了就是调用了
回复

使用道具 举报

发表于 2004-5-31 21:56:14 | 显示全部楼层
execl的调用可以用例句“execl("/bin/ls","ls","-l",NULL);”来说明,第一个参数是要调用的程序即/bin/ls,接下来是要从命令行传送的参数列表(以NULL结尾),如果你熟悉shell编程或相关概念,就很容易明白了,这里的列表"ls","-l"相当于命令行参数的$0和$1;

execv则用字符串数组来放置参数列表,例句如下:
char *av[]={"ls","-l","--color",NULL};
execv("/bin/ls",av);

execlp与execl的调用方法一样,但后者只能调用普通执行程序而不能调用shell程序,execlp则可以调用普通程序和shell程序,而且可以在系统搜索路径中查找程序而无需指定绝对路径;execv与execvp的比较同上。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-8 06:07 , Processed in 0.047147 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表