LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1000|回复: 4

执行效率问题!

[复制链接]
发表于 2007-10-24 21:52:21 | 显示全部楼层 |阅读模式
请问删除一个文件一下哪个方法效率高:
1、unlink("test.avi");
2、system("rm -r test.avi");
发表于 2007-10-24 23:07:50 | 显示全部楼层
当然是unlink了
unlink是函数调用,system可是要开一个进程啊,最终也还要调用unlink
当然删一个文件的话无所谓了,要是删10000个,还是unlink吧
回复 支持 反对

使用道具 举报

发表于 2007-10-25 15:54:23 | 显示全部楼层
那如果这有一个目录下有N多个文件,
用unlink (file1); unlink (file2); ....

和system ("rm -rf *")呢!!

呵呵!!
回复 支持 反对

使用道具 举报

发表于 2007-10-25 16:50:12 | 显示全部楼层

  1. [yun@localhost shm]$ touch a b c; strace rm -rf * 2>&1 | grep unlink
  2. unlink("a")                             = 0
  3. unlink("b")                             = 0
  4. unlink("c")                             = 0
复制代码

这应该可以回答楼上兄弟的问题
回复 支持 反对

使用道具 举报

发表于 2007-10-25 18:30:40 | 显示全部楼层
Post by remote fish

  1. [yun@localhost shm]$ touch a b c; strace rm -rf * 2>&1 | grep unlink
  2. unlink("a")                             = 0
  3. unlink("b")                             = 0
  4. unlink("c")                             = 0
复制代码

这应该可以回答楼上兄弟的问题
明白,明白!!

想错了,呵呵!!
回复 支持 反对

使用道具 举报

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

本版积分规则

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