Discovering list of open files from "kernel level" without using utils like lsof

youshi10 at u.washington.edu youshi10 at u.washington.edu
Mon Apr 9 18:49:45 UTC 2007


On Mon, 9 Apr 2007, Dan Nelson wrote:

> In the last episode (Apr 08), Garrett Cooper said:
>> 	I'm trying to see whether it's possible to grab the list of
>> files open from a kernel level on FreeBSD, using a userland library
>> interface as opposed to lsof.
>> 	I'm trying to see if there's a simple tool that I could code in
>> C/C++ if necessary to spin down disks automatically to save power and
>> disk life. Plus, I think that lsof actually would probe the devices
>> and 'wake them up' instead of keeping them as-is. However, I could be
>> wrong so if I am please let me know.
>
> Take a look at how /usr/bin/fstat does it.  There is apparently a
> "kern.file" sysctl that holds the open file table, but fstat digs
> through kernel memory.
>
> --
> 	Dan Nelson
> 	dnelson at allantgroup.com

Ok, excellent. Thanks for more info.

I'm thinking of changing "spinning down" to "adjusting acoustics level", i.e. reduce spindle speed to avoid pricey spin-downs, which may cause long-term serious damage to disks.

Trying to keep my electric bills down and keep my disk life up :).

-Garrett



More information about the freebsd-hackers mailing list