标题:linux下怎么用c获取硬盘物理序列号?
只看楼主
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
结帖率:100%
已结贴  问题点数:20 回复次数:2 
linux下怎么用c获取硬盘物理序列号?
真是一个头疼的问题
linux下怎么用c获取硬盘物理序列号?哪位c高手知道?
什么redhat,ubuntu,salories,aix等等等等都能用的
硬盘类型可能是sata,也可能是scsi。
如果是raid,要获取主盘的物理序列号
不知道c高手们有没有一个通用的解决方案?谢谢了
物理序列号哦!

[ 本帖最后由 freish 于 2009-8-28 11:24 编辑 ]
搜索更多相关主题的帖子: linux 
2009-08-28 11:22
jd205
Rank: 2
等 级:论坛游民
帖 子:139
专家分:69
注 册:2006-10-26
得分:0 
试试在C里system()调用linux命令,LINUX应该有查看硬盘物理序列号的命令吧~
我也不太清楚,记得以前写过在UNIX下运行查看硬盘使用状况的,就是调用UNIX命令。
2009-08-28 13:24
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
得分:20 
程序代码:
#include <stdio.h>
#include <sys/ioctl.h>
#include <linux/hdreg.h>
#include <sys/fcntl.h>
int main()
{
   struct hd_driveid id;
   int fd = open("/dev/sda", O_RDONLY|O_NONBLOCK);
   if (fd < 0) {
     perror("/dev/sda");
     return 1; }
    if(!ioctl(fd, HDIO_GET_IDENTITY, &id))
     {
       printf("Serial Number=%s\n",id.serial_no);
     }
    return 0;
}

/dev/sda自己看着改。

专心编程………
飞燕算法初级群:3996098
我的Blog
2009-08-28 21:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-283943-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.338065 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved