SkÃ¥ne Sjælland Linux User Group - http://www.sslug.dk Forside   Tilmelding   Postarkiv   Forum   Kalender   Søg
MhonArc Dato: [Date Prev] [Kronologisk oversigt] [Date Next]   TrÃ¥d: [Date Prev] [Oversigt trÃ¥de] [Date Next]   MhonArc
 

Re: [PERL] fuser i perl



On Sun, 28 Feb 1999, Jan Eggert Kofoed wrote:

> og slette de, der ikke er i brug. /usr/sbin/fuser kan fortælle,
> om en fil benyttes. Jeg kan klare dette i bash, og efterfølgende
> kalde perl, men sådanne opgave kan sikkert klares helt i perl.

fuser paa Linux (2.0.x) virker ved at koerer igennem hele /proc strukturen
og se paa alle de fd'ere som alle programmer har aabne.

Fx:

/tmp# ls -la /proc/1/fd
total 0
dr-x------   1 root     root            0 Mar  1 10:27 .
dr-xr-xr-x   3 root     root            0 Mar  1 08:15 ..
lrwx------   1 root     root           64 Mar  1 10:27 10 -> [0303]:12341

Her kan vi se at process 1 har inode 12341 aaben paa device 03:03.

~# ls -la /dev/hda3
brw-rw----   1 root     disk       3,   3 Sep  7  1994 /dev/hda3

3,3 er /dev/hda3, og inode 12341 findes nok et eller andet sted paa disken
(ved at have en find -inode 12341 fx) . Hvis vi startede med fx. en
/tmp/foobar vil kunne vi sammenligne dens inode-nummer med det er ligger i
/proc/fd/*.


Med andre ord: du har nok ikke lyst til at implementerer det i Perl :)


-- 
==============================================================================
Erwin Andreasen   Herlev, Denmark <sslug@sslug>          UNIX System Programmer
<URL:http://www.andreasen.org>              <*>         (not speaking for) DDE
==============================================================================




 
Forside   Tilmelding   Postarkiv   Oversigt   Kalender   Søg

 
 
Henvendelse vedrørende websiderne til <www_admin>. Senest ændret 2005-08-10, klokken 19:51
Denne side vedligeholdes af MHonArc .