LinuxSir.cn,穿越时空的Linuxsir!

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

[请教]有关 umount() 函数的问题

[复制链接]
发表于 2006-5-4 13:15:37 | 显示全部楼层 |阅读模式
下面是一个卸载u盘的程序(在此之前u 盘已经挂起了,并且是已root身份登陆系统的):

  1. #include <linux/mount.h>
  2. #include <errno.h>

  3. void main()
  4. {
  5.        /* target 指定卸载的路径,/dev/sdb1 是 usb device 的器件号,在 /etc/fstab 中有定义*/

  6.        char *target="/dev/sdb1";   
  7.            
  8.      printf("device %s is going to be umounted\n",target);
  9.      
  10.        /*卸载失败则返回 -1*/

  11.        if(umount(target)==-1)                  
  12.                printf("error: %s \n",strerror(errno));      
  13.      
  14.      return 0;
  15. }
复制代码


程序运行后,出错信息是:no such file or directory

但是在命令行下输入“umount /dev/sdb1" 是可以成功卸载器件的。原因我想不出来啊 ,为什么用 umount 命令就可以,但是用 umount 函数却不行?

大家帮忙看看是什么地方的问题,谢谢啦!
发表于 2006-5-4 15:22:02 | 显示全部楼层
umount的参数应该是你加载到的文件夹吧,而不是设备文件。
回复 支持 反对

使用道具 举报

发表于 2006-5-4 15:23:41 | 显示全部楼层
但是在命令行下输入“umount /dev/sdb1" 是可以成功卸载器件的。


这对吗?umount /dev/sdb1,好像不对。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-4 16:53:45 | 显示全部楼层
已经解决了,谢谢muxingren!!谢谢大家!
回复 支持 反对

使用道具 举报

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

本版积分规则

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