Simpler Navigation for Servers and Operating Systems - Please Update Your Bookmarks
Completed: a much simpler Servers and Operating Systems section of the Community. We combined many of the older boards, so you won't have to click through so many levels to get at the information you need. Check the consolidated boards here as many sub-forums are now single boards.
If you have bookmarked forums or discussion boards in Servers and Operating Systems, we suggest you check and update them as needed.
General
cancel
Showing results for 
Search instead for 
Did you mean: 

How do I find out who is using a particular file?

SOLVED
Go to solution
pap
Respected Contributor

How do I find out who is using a particular file?

Is there any way that I can find out who is currently using a particular file???

I know fuser can tell us about file system but I want to find out about the FILE.

thanks,
-pap
"Winners don't do different things , they do things differently"
10 REPLIES
Jeff Schussele
Honored Contributor
Solution

Re: How do I find out who is using a particular file?

Hi Piyush,

fuser CAN go all the way down to file. Just give it the full path.

HTH,
Jeff
PERSEVERANCE -- Remember, whatever does not kill you only makes you stronger!
Patrick Wallek
Honored Contributor

Re: How do I find out who is using a particular file?

fuser can tell about a file as well.

# fuser -u /mount/point/filename

You can also download and use lsof. It is available from:

http://hpux.cs.utah.edu/hppd/hpux/Sysadmin/lsof-4.61/
harry d brown jr
Honored Contributor

Re: How do I find out who is using a particular file?

get lsof

http://hpux.cs.utah.edu/hppd/hpux/Sysadmin/lsof-4.61/


live free or die
harry
Live Free or Die
Kelli Ward
Trusted Contributor

Re: How do I find out who is using a particular file?

I haven't tried this, but it also might work.
ps -ef | grep
note the PID # and all the PPID # for it until you find the shell.
who -u
Look for any of the numbers noted and see which user has them.

I know, it's long and ugly, but I'm in a strange mood today and for some reason, it popped into my head.

Must be the only 4 hours sleep I got last night.

Good luck you ya,
Kel
The more I learn, the more I realize how much more I have to learn. Isn't it GREAT!
Mark Fenton
Esteemed Contributor

Re: How do I find out who is using a particular file?

Kel's suggestion probably wouldn't work for database files -- probably'd work for straight file edits (e.g. someone has vi'd a file...)

Stick with either lsof (if installed) or fuser

fuser -u /path/to/file gives the username along with the process id that is touching the file.

lsof |grep /path/to/file/name will also spit out a list of usernames that are touching a file, and a wealth of other information that could be of possible interest.

hth
Mark
Kelli Ward
Trusted Contributor

Re: How do I find out who is using a particular file?

Howdy,
Admittedly, even if my suggestion did work, I wouldn't be suprised if you had to chase PPIDs making it a real pain to use.
But, for some reason, it popped in my head.
The worse part is, I had a triple shot of espresso yesterday and it still didn't help! ;)
Oh well, I feel much better today.
Kel
The more I learn, the more I realize how much more I have to learn. Isn't it GREAT!
pap
Respected Contributor

Re: How do I find out who is using a particular file?

Hi kelly..

It is a great thing that you were wrked so hard for the day and took time to respond my question.
Appreciated your effort.

-pap
"Winners don't do different things , they do things differently"
harry d brown jr
Honored Contributor

Re: How do I find out who is using a particular file?

 
Live Free or Die
Jeff Schussele
Honored Contributor

Re: How do I find out who is using a particular file?

Harry,

You'll get absolutely no argument from me on the utility & IMPORTANCE of lsof.
NO HP shop should be w/o it!
We were just pointing out to Piyush that fuser -u can go down to the file level as most people (I included until a while ago) thought fuser only operated at the FS level.

Looking for a way to live TAX free,
Jeff

....exspecially this time of year......
PERSEVERANCE -- Remember, whatever does not kill you only makes you stronger!
Darrell Allen
Honored Contributor

Re: How do I find out who is using a particular file?

Hi all,

I absolutely agree that lsof is far more functional than fuser HOWEVER...

I've worked at a site where lsof wasn't approved by security. It is rather powerful though I personally feel it should be in every sysadmin's bag of tricks.

I also believe in using OS tools if they will do what's needed.

For the above reasons, I'd choose "fuser -c" (gotta use "-c") to tell if a filesystem is in use. I'd simply use "fuser filename" on a file.

Testing "fuser -c" vs lsof I did the following to see how many processes were using /var on an idle system:

# lsof /var | awk '{print $2}' | grep -v PID | sort -u | wc -l
40
#for i in $(fuser -c /var 2>&1)
do
echo $i | tr -d [a-z]
done | grep -v /var: | wc -l
40

Note both of the above return 40 pids. lsof's output is much more informative but not really neccessary to know if a file or a filesystem is in use.

Darrell
"What, Me Worry?" - Alfred E. Neuman (Mad Magazine)