免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2973 | 回复: 11
打印 上一主题 下一主题

关于execlp的两个问题  关闭 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-05-20 11:22 |只看该作者 |倒序浏览
1 execlp的一个例子中写道:
  execlp("ls","ls","-a","/etc/",(char *)0);
   请问这里面第二个参数是什么意思,作用是什么。

2 我最近看到一段代码,其中有一部份如下:
  if( (pid = fork())<0){
        printf("fork error!\n";
        exit(1);
   }
   else if (pid == 0){
        execlp(buf,buf,(char *)0);
        printf("could't execute: %s",buf);
        exit(127);  

   }
    if ( (pid = waitpid(pid,&status,0))<0){
        printf("waitpid error!";
其中红色的那两句话,要什么时候才能执行到
为什么执行完execlp后,没有执行他们

谢谢了!

论坛徽章:
0
2 [报告]
发表于 2005-05-20 12:06 |只看该作者

关于execlp的两个问题

execlp执行错误的情况下,它后面的代码才能被执行。正常情况下,exec系列函数是不会返回的。

论坛徽章:
0
3 [报告]
发表于 2005-05-20 12:25 |只看该作者

关于execlp的两个问题

[quote]原帖由 "kj501"]execlp执行错误的情况下,它后面的代码才能被执行。正常情况下,exec系列函数是不会返回的。[/quote 发表:


哦,是这样啊!
那他的两个参数是什么意思啊?为什么两个参数是一样的啊?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2005-05-20 13:00 |只看该作者

关于execlp的两个问题

man一下,看看手册。

论坛徽章:
0
5 [报告]
发表于 2005-05-20 13:14 |只看该作者

关于execlp的两个问题

嗯,看了,还是不大明白

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
6 [报告]
发表于 2005-05-20 13:25 |只看该作者

关于execlp的两个问题

第一个参数是命令本身,后面是命令的参数,再后面是命令的环境变量。

论坛徽章:
0
7 [报告]
发表于 2005-05-20 13:29 |只看该作者

关于execlp的两个问题

[quote]原帖由 "aero"]第一个参数是命令本身,后面是命令的参数,再后面是命令的环境变量。[/quote 发表:


我理解的也是这样,可是就拿我的第一个例子来说吧
ls 的参数怎么是 ls呢?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
8 [报告]
发表于 2005-05-20 13:36 |只看该作者

关于execlp的两个问题

main(int argc, char *argv[]);

argv[0]是啥?

论坛徽章:
0
9 [报告]
发表于 2005-05-20 13:45 |只看该作者

关于execlp的两个问题

那第一个ls难道不是命令名吗?我有点糊涂了。:)

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
10 [报告]
发表于 2005-05-20 13:55 |只看该作者

关于execlp的两个问题

命令名和命令参数是有区别的吧?你先回答我问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP