On Mon, 12 Nov 2007, Yuri wrote:

I am looking for functionality similar to Linux's /proc/<PID>/fd/<FD>. I need to know what is the file name of an open file descriptor.

/proc/<PID>/fd is missing on FreeBSD.

There's something called 'fdescfs'. In /dev/fd/ it shows the list of file descriptors. But they don't seem to be symbolic links to open files. And also it only shows FDs of the current process.

So why there's no /proc/<PID>/fd in FreeBSD? And how do I work around this? Or should I just invest time and write a kernel patch implementing /proc/<PID>/fd/?

You can give these patches a try:

  http://www.watson.org/~robert/freebsd/20071112-procstat.tgz

They reflect a work-in-progress procstat(1) tool, which inspects process state in various ways. They are developed against 8-CURRENT, but likely still apply fairly easily to 7-STABLE. They suffer various deficiencies, such as relying on the name cache in-kernel to generate file paths for mapped files and open file descriptors, so don't currently work with devfs nodes (for example). However, they may do what you need. Any feedback would be most welcome.

Robert N M Watson
Computer Laboratory
University of Cambridge
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to