On Mon, Aug 19, 2019 at 4:13 PM Corinna Vinschen <corinna-cyg...@cygwin.com> wrote: > > On Aug 19 10:06, Eliot Moss wrote: > > On 8/19/2019 10:03 AM, Corinna Vinschen wrote: > > > On Aug 19 14:33, Morten Kjærulff wrote: > > > > Hi, > > > > > > > > I have an application which constantly: > > > > creates a file > > > > do some processing > > > > deletes the file > > > > > > > > One way to monitor if the application has crashed, is to check the age > > > > of > > > > the file, so I made a script that: > > > > > > > > find //$server/d$/dir/subdir*/subsubdir -name 'thefile' -printf '%A+\n' > > > > > > > > subdir* will be subdir1 subdir2 ... > > > > under subsubdir there will be dirA, dirB, ... and under those, thefile > > > > may > > > > exist. > > > > > > > > Problem is that it seems this command locks thefile, as the application > > > > sometimes can't delete it. > > > > > > > > Could this be true? > > > > > > Cygwin does not actually lock anything except in very rare > > > circumstances. Your problem is more likely triggered by a realtime > > > virus scanner. > > > > I was wondering, though, whether the parent directory would > > be non-delete-able while find has the directory open for scanning. > > Usually yes. Cygwin moves the entire directory into the recycler in > case it's a local dir. That works even if a file is blocking the > dir from deletion. > > > If the application in question creates and deletes the parent > > directory, as well as the leaf file, then things would be left > > around unexpectedly. > > The question was just if the file is locked. > > > So would use of find trigger a virus scanner, which in turn might > > hold on to the file and prevent its deletion? > > That's how some realtime scanners work. They have hooks in the file API > and if some other process opens a file these scanners open the file as > well, typically without FILE_SHARE_DELETE, which Cygwin uses by default. > > > Corinna > > -- > Corinna Vinschen > Cygwin Maintainer
I forgot to say that I run the find command on my own PC, and the application runs on a server, which I have 'net use' its disk. Would it be the virus scanner on my PC or on the server? Any idea of a different way to get the age of the file? (I am sure I cannot change the virus scanner). /Morten -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple