Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: how to know the files opened by a process

by McDarren (Abbot)
on Dec 26, 2005 at 03:49 UTC ( #519049=note: print w/replies, xml ) Need Help??


in reply to how to know the files opened by a process

This is a pretty open-ended question. To get some useful answers you're probably going to have to be a bit more specific.

Of course, if you just want access to the functionality of lsof, then you could do something like this:

#!/usr/bin/perl -w use strict; my $lsof = "/usr/sbin/lsof -u 'root'"; # Change this to suit open DATA, "$lsof|" or die "Could not open $lsof:$!\n"; while (<DATA>) { print; } close DATA;

Cheers,
Darren :)

Replies are listed 'Best First'.
Re^2: how to know the files opened by a process
by swaroop (Beadle) on Dec 26, 2005 at 04:22 UTC
    Hi, Thanks.But the problem is , we need to write seperate methods for sun/linux. I'm looking for modules.

      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 --

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://519049]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (2)
As of 2022-12-04 12:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?