C++ 如何知道device/dev/hd*在使用c/c+的linux中是否是cdrom+;?
我使用xen创建虚拟机,并通过虚拟cdrom传递一些信息。最后,在DomU中,我需要知道cdrom包含的信息是哪个磁盘。问题是:如何找到cdrom设备名称?最简单的方法是在结果和结果中执行lsblk、pipeC++ 如何知道device/dev/hd*在使用c/c+的linux中是否是cdrom+;?,c++,C++,我使用xen创建虚拟机,并通过虚拟cdrom传递一些信息。最后,在DomU中,我需要知道cdrom包含的信息是哪个磁盘。问题是:如何找到cdrom设备名称?最简单的方法是在结果和结果中执行lsblk、pipe sr0 11:0 1 308M 0 rom sda 8:0 0 120G 0 disk ├─sda1 8:1 0 300M 0 part /boot ├─sda2 8:2 0 117.8G 0 part / └─s
sr0 11:0 1 308M 0 rom
sda 8:0 0 120G 0 disk
├─sda1 8:1 0 300M 0 part /boot
├─sda2 8:2 0 117.8G 0 part /
└─sda3 8:3 0 2G 0 part [SWAP]
检查一行,例如:
所以,对我来说,CD-rom是/dev/sr0。对你来说可能是hd0
在使用sysfs.h和sysfs调用时需要做更多的工作,“man sysfs”或浏览或lsblk的源代码中提供了更多信息:
希望这会有更多帮助。您可以使用/proc/sys/dev/cdrom/info的内容
CD-ROM information, Id: cdrom.c 3.20 2003/12/17
drive name: sr0
drive speed: 62
drive # of slots: 1
Can close tray: 1
Can open tray: 1
Can lock tray: 1
Can change speed: 1
Can select disk: 0
Can read multisession: 1
Can read MCN: 1
Reports media changed: 1
Can play audio: 1
Can write CD-R: 1
Can write CD-RW: 1
Can read DVD: 1
Can write DVD-R: 1
Can write DVD-RAM: 1
Can read MRW: 1
Can write MRW: 1
Can write RAM: 1
例如$cat/proc/sys/dev/cdrom/info
CD-ROM information, Id: cdrom.c 3.20 2003/12/17
drive name: sr0
drive speed: 62
drive # of slots: 1
Can close tray: 1
Can open tray: 1
Can lock tray: 1
Can change speed: 1
Can select disk: 0
Can read multisession: 1
Can read MCN: 1
Reports media changed: 1
Can play audio: 1
Can write CD-R: 1
Can write CD-RW: 1
Can read DVD: 1
Can write DVD-R: 1
Can write DVD-RAM: 1
Can read MRW: 1
Can write MRW: 1
Can write RAM: 1
这里,如果“驱动器名:”行包含sr0,则
意味着/dev/sr0是cdrom