Review your favorite Linux distribution.
Go Back > Forums > Linux Forums > Linux - General
User Name
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.


  Search this Thread
Old 04-18-2008, 12:42 AM   #1
LQ Newbie
Registered: Apr 2008
Posts: 2

Rep: Reputation: 0
File Opened by some application

Hello All ,

I need to know , if some file is used by some application in Linux.

Its like , I need to make a function in C , which checks whether a file is opened or not by some application.

I can browse ,through /proc/*PID*/fd/
and collect the data from there .

but In case of txt file , there is no link to the file in the fd folder of that PID .

Any Idea , how to deal with txt file in such a case.
or is there some other way ,

Old 04-18-2008, 01:54 AM   #2
Registered: Oct 2005
Location: Australia
Distribution: Slackware & Kubuntu & CentOS
Posts: 106

Rep: Reputation: 17
lsof is your friend
By default it will show all open files, but you can get open files for a user:
lsof -u alowe (showing all open files for alowe)
or a process
lsof -p 123,456 (showing all open files for process numbers 123 and 456)
or a particular file
lsof /home/alowe/myfile (shows processes with /home/alowe/myfile open)

I do not think this always works for data files, as some applications only open the file when they want to read from or write to the file, closing the file while the user edits it... so on open, they open the file, then read, then close the file, after that when the user chooses to save the file, the process opens the file, writes out the data, and closes it.
If a file should be only opened and edited by one user the process should probably lock the file while the process runs.
I know my text editor (Kate) will open the file, and I can open it in another editor, and kate will warn me that another process has changed the file (and give me alist of options (replace, save as, drop changes), but it uses timestamps, etc to determine this, and nothing stops the second process from editing the file.
I mention these last notes because you mention text files, and they are probably not under the /proc file system because they are not technically open, just being edited by a process, but not in use.

Hope this helps
Old 04-18-2008, 02:00 AM   #3
LQ Newbie
Registered: Apr 2008
Posts: 2

Original Poster
Rep: Reputation: 0
So , what can we do for a txt/xml file specially to know , whether some process have opened it or not
Old 04-18-2008, 02:29 AM   #4
Registered: Oct 2005
Location: Australia
Distribution: Slackware & Kubuntu & CentOS
Posts: 106

Rep: Reputation: 17
I don't think you can actually tell if a process is editing a memory buffered copy of a file, as it has not marked the file as locked and has not left the file open, it is technically not open or in use, just the memory copy of the data is being used.

Sorry, and I could (Hopefully) be wrong, but I doubt it...


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
How to close a opened file using shell scripting Ashok_mittal Programming 1 01-02-2008 07:51 AM
How to know whether a particular file is opened or not? kondrara Linux - Software 2 11-22-2007 05:08 AM
How to know whether a dev file has been opened or not? asahlot Linux - Software 2 03-06-2007 12:02 AM
preventing deletion of an opened file sayarsoft Programming 3 02-05-2007 08:05 PM
open SuSE 9.3 Logout from an opened file langbein SUSE / openSUSE 2 11-21-2005 04:19 PM > Forums > Linux Forums > Linux - General

All times are GMT -5. The time now is 12:11 PM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration