Minden Windows-felhasználó találkozott már azzal a bosszantó hibaüzenettel, amely szerint a fájl használatban van, holott az alkalmazást már régen bezárta. A Microsoft Azure technológiai igazgatója, Mark Russinovich most végre elmagyarázta, miért történik ez, és hogyan lehet megoldani.
Mi az a fájlleíró, és miért fontos?
Amikor egy program megnyit egy fájlt, a Windows létrehoz egy úgynevezett fájlleírót (file handle). Ez egy hivatkozás, amellyel a rendszer nyomon követi, hogy melyik alkalmazás melyik fájlhoz fér hozzá. Amíg ez a hivatkozás létezik, a Windows nem engedi a fájl törlését vagy átnevezését, mert az adatvesztéshez vezethetne.
Normális esetben az alkalmazás bezárásakor a rendszer felszabadítja ezeket a hivatkozásokat. De mint azt mindannyian tapasztaltuk, ez nem mindig történik meg automatikusan.
Három ok, amiért a fájl zárolva marad
Russinovich három tipikus okot nevezett meg, amelyek miatt egy fájl továbbra is használatban marad az alkalmazás bezárása után.
Az első és leggyakoribb ok a vírusirtó szoftver. Amikor az antivírus háttérben futó vizsgálatot végez, megnyitja a fájlt rendszerszinten. Hiába zárta be Ön a Word-öt vagy a médialejátszót, a vírusirtó még mindig vizsgálhatja ugyanazt a fájlt.
A második ok a hálózati hozzáférés. Ha egy másik számítógép a helyi hálózaton korábban megnyitotta a fájlt, az a távoli folyamat továbbra is fenntarthatja a hivatkozást.
A harmadik, és egyben a legtrükkösebb ok a DLL-betöltés. Ha a kérdéses fájl egy alkalmazás memóriájába van betöltve dinamikus könyvtárként (DLL), az nem jelenik meg hagyományos fájlhivatkozásként. A szokásos eszközök nem mutatják, mégis zárolva van. Ilyenkor csak a teljes alkalmazás leállítása oldja fel a zárolást.
Hogyan derítheti ki, melyik folyamat tartja fogva a fájlt?
Russinovich még a 90-es években készítette el a Handle nevű parancssori eszközt, amely a Sysinternals csomag része. Rendszergazdai parancssorból futtatva megmutatja az összes nyitott fájlhivatkozást a rendszeren, a felelős folyamat nevével és azonosítójával együtt.
A grafikus felületű Process Explorer ugyanezt kínálja vizuálisan. A Ctrl + Shift + F billentyűkombinációval megnyitható a keresőablak, ahol a zárolt fájl nevének beírása után azonnal látható, melyik folyamat tartja fogva. Innen közvetlenül leállítható a folyamat vagy lezárható a hivatkozás.
A legegyszerűbb megoldás: PowerToys File Locksmith
Aki nem szívesen használ parancssort, annak a Microsoft PowerToys csomag File Locksmith funkciója tökéletes választás. Telepítés után elegendő jobb egérgombbal a problémás fájlra kattintani, majd az „Unlock with File Locksmith” opciót választani.
Az eszköz azonnal megmutatja az összes folyamatot, amely a fájlt használja. Egyetlen kattintással leállítható bármelyik, és utána a fájl szabadon törölhető vagy átnevezhető. Nem kell hozzá sem parancssor, sem rendszergazdai tudás.
Gyors megoldás: átnevezés törlés helyett
Russinovich egy praktikus kerülő megoldást is megosztott. Ha nem tudja azonnal leállítani a zárolást okozó folyamatot, próbálja meg átnevezni a fájlt törlés helyett. A Windows bizonyos esetekben megengedi az átnevezést akkor is, ha a fájl használatban van.
Az átnevezés után az eredeti névvel elhelyezhet egy új példányt ugyanabban a mappában. A többi folyamat az új fájlt fogja használni, a régi pedig törölhető lesz, amint a zárolás feloldódik.
Ön is rendszeresen belefut ebbe a hibába? Ha Windows licencre vagy Office szoftverre van szüksége, nézze meg a Soft.Direct kínálatát, ahol azonnali aktiválással vásárolhat eredeti szoftvereket.
Forrás: Windows Latest

