Linux下对移动存储设备的检测

 系统启动经过初始化操作之后,创建一个线程用于检测是否有移动存储设备插入或者拔出。

/proc/partitions和/proc/mounts,当有U盘插入时,以上两个文件中都会相应增加设备信息行。不同的是后者显示的是真正挂载上了的分区。可以通过读取这两个文件的方法来判断是否有移动设备插入。

char fdata[256] = {0}; char name[32] = {0}; FILE *fp = NULL; fp = fopen("/proc/partitions", "r") if (fp == NULL) { printf("open file error/n"); return ERROR; } while ( fgets(fdata, sizeof(fdata), fp) ) { if ( fscanf(fp, "%d, %s", &major, name) > 0 ) { if ( major == 8 && !strncmp(name, "sd", 2)) { printf("Device insert/n"); } } }

你可能感兴趣的:(linux,File,null,存储,FP)