BBS.ChinaUnix.net
首页 | 新闻 | Linux | FreeBSD | AIX | Windows | 博客 | 论坛 | 存储 | 网络 | 人才 | Wiki | 资料 | 读书 | 手册 | 下载 | 空间 | 搜索
  会员: 密码: 免费注册 | 忘记密码 | 会员登录 | 搜索 | 帮助 


奥运快报: 
奥运热点:
 

请教unix下execvp和system函数的问题

首页 » 论坛 » C/C++ »  
[打印] [订阅] [收藏] [本帖文本页] [推荐此主题给朋友,立即获积分]
  [已解决] 本主题悬赏 可用积分 10  
火猴
新手




UID:130522
注册:2004-2-4
最后登录: 2008-07-03
帖子:3
精华:0

可用积分:4 (白手起家)
信誉积分:105
空间积分:0 (白手起家)
专家积分:0 (本版)

状态:...离线...

[个人空间] [短信] [博客]


顶部
1楼 发表于 2008-7-2 22:56 
今天在AIX下写程序,发现如下问题:
我在配置文件里面存储一个命令,例如cp /home/*.txt  ./
我还程序里面读出这个命令,然后用execvp或system去调用。

发现用execvp调用的时候,不支持通配符,也就是说cp /home/a.txt  ./ 就可以执行成功,如果是 cp /home/*.txt  ./ 就不行,提示/home/*.txt不存在。
而用system 不会出现这个问题。 两种都支持, 但是system调用有个问题, 因为他是先fork一个子进程,起一个shell, 然后再去调用命令。 所以如果命令失败他得到的返回值还是0, 因为shell没有出错。

请教大侠,如何用execvp调用的时候也能支持通配符, 或者用system可以得到程序返回值?



您对本贴的看法:鲜花[0] 臭蛋[0]
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
kingsu
精灵




UID:647908
注册:2007-11-29
最后登录: 2008-08-07
帖子:229
精华:0

可用积分:268 (白手起家)
信誉积分:45
空间积分:0 (白手起家)
专家积分:30 (本版)

状态:...离线...

[个人空间] [短信] [博客]


顶部
     最佳答案 
2楼 发表于 2008-7-2 22:56 
回复 #1 火猴 的帖子

system也可以得到返回值
系统定义了一些宏,如WEXITSTATUS
妳可以搜索下详细



您对本贴的看法:鲜花[0] 臭蛋[0]
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
kingsu
精灵




UID:647908
注册:2007-11-29
最后登录: 2008-08-07
帖子:229
精华:0

可用积分:268 (白手起家)
信誉积分:45
空间积分:0 (白手起家)
专家积分:30 (本版)

状态:...离线...

[个人空间] [短信] [博客]


顶部
3楼 发表于 2008-7-3 08:36 
exec函数会不会是参数没有设对。。。



您对本贴的看法:鲜花[0] 臭蛋[0]
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
火猴
新手




UID:130522
注册:2004-2-4
最后登录: 2008-07-03
帖子:3
精华:0

可用积分:4 (白手起家)
信誉积分:105
空间积分:0 (白手起家)
专家积分:0 (本版)

状态:...离线...

[个人空间] [短信] [博客]


顶部
4楼 发表于 2008-7-3 08:57 
1楼的答案时正解~~~十分感谢



您对本贴的看法:鲜花[0] 臭蛋[0]
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
火猴
新手




UID:130522
注册:2004-2-4
最后登录: 2008-07-03
帖子:3
精华:0

可用积分:4 (白手起家)
信誉积分:105
空间积分:0 (白手起家)
专家积分:0 (本版)

状态:...离线...

[个人空间] [短信] [博客]


顶部
5楼 发表于 2008-7-3 09:00 
偶是新人。 不知道是不是设置最佳答案就自动给分那?



您对本贴的看法:鲜花[0] 臭蛋[0]
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
kingsu
精灵




UID:647908
注册:2007-11-29
最后登录: 2008-08-07
帖子:229
精华:0

可用积分:268 (白手起家)
信誉积分:45
空间积分:0 (白手起家)
专家积分:30 (本版)

状态:...离线...

[个人空间] [短信] [博客]


顶部
6楼 发表于 2008-7-3 10:02 
回复 #5 火猴 的帖子

是!
但是
1:这问题就10分好赚啊
2:我不是一楼...



您对本贴的看法:鲜花[0] 臭蛋[0]
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘

首页 » 论坛 » C/C++ »


 


Copyright © 2001-2008 ChinaUnix.net All Rights Reserved     联系我们:

感谢所有关心和支持过ChinaUnix的朋友们    转载本站内容请注明原作者名及出处

京ICP证041476号


清除 Cookies - ChinaUnix - Archiver - WAP - TOP

Processed in 1.822224 second(s), 4 queries , Gzip enabled