Search code examples
winapifilelockinghandle

Under which circumstances does the System process (PID 4) retain an open file handle?


My application running on a Windows server makes use of a Jet/Access database. For some reasons around every two weeks that database file gets locked by the System process (PID 4, seems to be fixed)

After some googling I found some other users having their files locked by that special process, but different files (of course).

  • What's the general reason for the System process to keep an open file handle?
  • Is my application the cause for this locking situation?
  • Are all handles implicitly opened by the System process? I could imagine that after a process has crashed, the handle may still be open and the System process somehow takes owernship of that handle.
  • Can I do something in my application to prevent it from happening?

Solution

  • This sounds to me like a driver-level issue with a leaky handle.

    If you're running an anti-virus package try upgrading, disabling (temporarily!) or switching to a different brand.