当前位置:  技术问答>linux和unix

怎么通过 /proc/scsi/usb-storage来确定u盘是/dev/sdb还是sdc?

    来源: 互联网  发布时间:2017-04-17

    本文导语:  我知道通过 /proc/scsi/usb-storage来确定是否有u盘插入如下: root@kangear:~# ls /proc/scsi/usb-storage 13 有数字就代表,有U盘插入。再看: root@kangear:~# cat /proc/partitions major minor  #blocks  name    8        0  488386584 sda...

我知道通过 /proc/scsi/usb-storage来确定是否有u盘插入如下:
root@kangear:~# ls /proc/scsi/usb-storage
13
有数字就代表,有U盘插入。再看:
root@kangear:~# cat /proc/partitions
major minor  #blocks  name

   8        0  488386584 sda
   8        1   51740608 sda1
   8        2   76911648 sda2
   8        3   51702784 sda3
   8        4          1 sda4
   8        5     999424 sda5
   8        6  153889816 sda6
   8        7  153133056 sda7
  11        0    1048575 sr0
   8       16    2009600 sdb
   8       17    2008064 sdb1
root@kangear:~# 
但是上边的“13”的这里的“sdb”好像没有什么联系呀,怎么让其对应起来呢?

(问题就是,1要判断U盘的插入 2确定该U盘的设备节点如:/dev/sdb)
上边的检测方法是在http://bbs.csdn.net/topics/360221740#post-371235029看到的。

|
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
 
static int init_hotplug_sock(void)
{
    struct sockaddr_nl snl;
    const int buffersize = 16 * 1024 * 1024;
    int retval;
 
    memset(&snl, 0x00, sizeof(struct sockaddr_nl));
    snl.nl_family = AF_NETLINK;
    snl.nl_pid = getpid();
    snl.nl_groups = 1;
 
    int hotplug_sock = socket(PF_NETLINK, SOCK_DGRAM, NETLINK_KOBJECT_UEVENT);
    if (hotplug_sock == -1) {
        printf("error getting socket: %s", strerror(errno));
        return -1;
    }
 
    /* set receive buffersize */
    setsockopt(hotplug_sock, SOL_SOCKET, SO_RCVBUFFORCE, &buffersize, sizeof(buffersize));
 
    retval = bind(hotplug_sock, (struct sockaddr *) &snl, sizeof(struct sockaddr_nl));
    if (retval 

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 我想通过扫描端口来判断HOST的网卡是UP还是DOWN
  • 请问在redhat8.0装上qq时(通过http代理),怎么还是不能用啊?
  • 如何通过命令查看内存是ddr2还是ddr3的?
  • 好像大家都说在网页中最好不用applet直接访问数据库,那现在正在用Java开发的兄弟们是不是都通过EJB去访问数据库还是用其他方法
  • 看了不少文章,还是不明白。请问各位大侠,在java2中applet到底能不能通过jdbc访问网络数据库?答者有分!
  • 编译通过但连接有问题,刚接触LINUX编程,我想这个问题应该很简单,可我 还是不会~! 求教~!!
  • java通过jdbc访问数据库流行采用何种数据库驱动程序?jdbc-odbc , InterClient , 还是“网络协议/全java驱动程序”?如有可能,请给简明
  • 代码没改过,前天还能在x86下编译通过,今天不管是x86还是arm都不行了
  • 通过javascript实现DIV居中,兼容各浏览器版本
  • applet可以不通过数字签名,通过设置IE直接在本地访问本地文件吗
  • php通过socket_bind()设置IP地址代码示例
  • 我使用.net编译通过,但是使用g++编译不能通过。总是提示我undefined reference to ~myclass()
  • 通过javascript库JQuery实现页面跳转功能代码
  • 紧急求救!能通过jdbc怎样连接sqlsever 然后通过 for xml 关键字得到xml流吗?
  • c#通过委托delegate与Dictionary实现action选择器代码举例
  • 我想我的网站屏蔽掉通过某些网站过来的访问,我想通过htaccess 文件来做,请大家帮帮我。
  • linux下通过crond实现自动执行程序
  • 如何通过INTERNET访问通过共项一条线路上网的局域网中的机器???
  • 通过docker commit命令保存对docker容器的修改
  • 为什么g++编译通过了,而gcc却编译通过不了???
  • 通过docker run命令运行新的docker镜像
  • 请指点: 在windows下能否通过程序来获取linux下的用户列表,甚至通过自己写的windows程序界面增加修改linux的用户
  • 通过docker ps命令检查运行中的docker镜像
  • Jbuilder第一次编译说缺包,引入通过!然后把原来引入的注释,又通过!上帝,救我!
  • Session id实现通过Cookie来传输方法及代码参考
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • 通过docker search命令搜索可用docker镜像
  • 请指点: 在windows下能否通过程序来获取linux下的用户列表,甚至通过自己写的windows程序界面增加修改linux的用户 100分相赠
  • Python3通过request.urlopen实现Web网页图片下载
  • 工作站Redhat Linux7.2如何通过NT4.0 proxy代理服务器上网,我不能通过其验证!请高手指点思路和方法!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,