Checking open/close status of files in directory - Programmers Heaven

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Checking open/close status of files in directory

jre1578jre1578 Posts: 2Member
My understanding is that 'stat' will find things like mode, file size, time stamps, etc. But not if the file is actually open or not. I need to be able to find all open files in a directory and close them - but not sure if using 'stat' will work. Can someone clarify this for me?

Comments

  • tihomirtihomir Posts: 65Member
    You won't have much success with this... because this is not Windows.

    In Windows you have automatic file locking when opening a file, but in Linux there's no automatic locking, but you must use "flock" to lock it... So guys who use flock will be caught by you, but guys who don't - will slip away...



    : My understanding is that 'stat' will find things like mode, file size, time stamps, etc. But not if the file is actually open or not. I need to be able to find all open files in a directory and close them - but not sure if using 'stat' will work. Can someone clarify this for me?
    :
  • korkor Posts: 198Member
    Try setting an exclusive lock, if the file's open, even if it's a shared lock, you should get an error. Check the section 2 man pages for more info.

    : You won't have much success with this... because this is not Windows.
    :
    : In Windows you have automatic file locking when opening a file, but in Linux there's no automatic locking, but you must use "flock" to lock it... So guys who use flock will be caught by you, but guys who don't - will slip away...
    :
    :
    :
    : : My understanding is that 'stat' will find things like mode, file size, time stamps, etc. But not if the file is actually open or not. I need to be able to find all open files in a directory and close them - but not sure if using 'stat' will work. Can someone clarify this for me?
    : :
    :

Sign In or Register to comment.