Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[Perl en Linux]Grootte van een device in /dev bepalen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi Allemaal,

Is er een manier in Perl om te bepalen hoe groot een device is? Bijvoorbeeld: /dev/hda
En dan uiteraard zonder 'uit Perl' te gaan. Dus niet 'gewoon' de output van fdisk -l te interpreteren.

Het probleem is dat dat devices zijn en je ze dus niet kunt benaderen als een file. De benedenstaande code werkt dus niet:
code:
1
2
3
open (INPUTFILE, '<', '/dev/hda');
my @filestuff = stat(INPUTFILE);
my $filelength = $filestuff[7];

[ Voor 0% gewijzigd door Verwijderd op 13-08-2007 15:25 . Reden: taalfoutje ]


  • veldsla
  • Registratie: April 2000
  • Laatst online: 27-11 12:54
Dat zou wel eens lastig kunnen worden aangezien het behoorlijk OS specifiek is en Perl in principe platform onafhankelijk is.

Als je een beetje recente linux hebt kan je de specificaties van je disk ook vanuit /sys lezen, dan reken je in ieder geval niet op een aanwezige executable. De disk info staat onder de block devices.

bv:
veldsla@krunk:~$ cat /sys/block/sda/sda7/size 
70123662

Verwijderd

Topicstarter
Daar ben ik al hartstikke blij mee! Thanx!
Ik ben me heel goed bewust dat dit niet onder alle OS-en gaat werken, maar ik ben in ieder geval voorlopig even gered!

  • Keiichi
  • Registratie: Juni 2005
  • Laatst online: 00:04
Als je groottes van partities moet hebben kun je wellicht ook Filesys::Df module gebruiken

http://search.cpan.org/~iguthrie/Filesys-Df-0.92/Df.pm

Solar @ Dongen: http://solar.searchy.net/ - Penpal International: http://ppi.searchy.net/