http://qs321.pair.com?node_id=519209


in reply to Re^2: how to know the files opened by a process
in thread how to know the files opened by a process

Well, lsof does work on multiple operating systems including Linux and Solaris. For example, lsof revision 4.74 lists information about files opened by processes for the following UNIX dialects:

AIX 5.[123] Apple Darwin 6.x and 7.x for Power Macintosh systems BSDI BSD/OS 4.3.1 for x86-based systems DEC OSF/1, Digital UNIX, Tru64 UNIX 4.0, and 5.1 FreeBSD 4.[2-9], 4.1[01], 5.[012] and 6.0 for x86-based systems FreeBSD 5.[012] and 6.0 for Alpha, AMD64 and Sparc64 based systems HP-UX 11.00 and 11.11 Linux 2.1.72 and above for x86-based systems NetBSD 1.[456] and 2.x for Alpha, x86, and SPARC-based systems NEXTSTEP 3.[13] for NEXTSTEP architectures OpenBSD 2.[89] and 3.[0123456] for x86-based systems OPENSTEP 4.x Caldera OpenUNIX 8 SCO OpenServer Release 5.0.6 for x86-based systems SCO|Caldera UnixWare 7.1.4 for x86-based systems Solaris 2.6, 8, 9 and 10

The path to where lsof is installed my vary slightly but you can modify your code to pick the right one depending on which OS you are on at the time. So McDarren's example should give you what you need.

-- vek --