Jedną z rzeczy, które denerwują mnie bez końca w systemie Windows, jest stary błąd naruszenia zasad udostępniania . Często nie można zidentyfikować, co go utrzymuje. Zwykle jest to tylko edytor lub eksplorator wskazujący odpowiedni katalog, ale czasami musiałem uciekać się do ponownego uruchomienia komputera.
Wszelkie sugestie dotyczące znalezienia sprawcy?
windows
file-sharing
Cletus
źródło
źródło
Odpowiedzi:
Miałem sukces z Sysinternals Process Explorer . Dzięki temu możesz wyszukać, który proces (procesy) mają otwarty plik, i możesz użyć go do zamknięcia uchwytów, jeśli chcesz. Oczywiście bezpieczniej jest zamknąć cały proces. Zachowaj ostrożność i osąd.
Aby znaleźć konkretny plik, użyj opcji menu
Find->Find Handle or DLL...
Wpisz część ścieżki do pliku. Lista procesów pojawi się poniżej.Jeśli wolisz wiersz poleceń, pakiet Sysinternals zawiera uchwyt wiersza poleceń , który wyświetla listę otwartych uchwytów. Kilka przykładów, jak go używać:
c:\Program Files\SysinternalsSuite>handle.exe |findstr /i e:\
- znajdź wszystkie pliki otwarte z dysku E:c:\Program Files\SysinternalsSuite>handle.exe |findstr /i file-or-path-in-question
źródło
W tym celu można użyć Monitora zasobów, który jest wbudowany w Windows 7, 8 i 10.
Po znalezieniu uchwytu możesz zidentyfikować proces, patrząc na kolumnę Obraz i / lub PID.
Następnie możesz spróbować zamknąć aplikację w normalny sposób lub, jeśli nie jest to możliwe, wystarczy kliknąć prawym przyciskiem myszy uchwyt i zabić proces bezpośrednio z tego miejsca. Bułka z masłem!
Skopiowano z mojej oryginalnej odpowiedzi: https://superuser.com/a/643312/62
źródło
resmon
bezpośrednio z cmdWypróbuj polecenie openfiles .
źródło
openfiles /local on
i ponowne uruchomienie. To sprawia, że ta funkcja nie jest bardzo przydatna.Bądź bardzo ostrożny przy zamykaniu uchwytów; jest to nawet bardziej niebezpieczne, niż mogłoby się wydawać, z powodu recyklingu uchwytu - jeśli zamkniesz uchwyt pliku, a program otworzy coś innego, ten oryginalny uchwyt pliku, który zamknąłeś, może zostać ponownie wykorzystany do tego „czegoś innego”. A teraz zgadnij, co się stanie, jeśli program będzie kontynuował, myśląc, że działa na pliku (którego uchwyt został zamknięty), podczas gdy w rzeczywistości uchwyt pliku wskazuje teraz na coś innego.
zobacz post Raymonda Chena na ten temat
źródło
W przeszłości korzystałem z Handle, aby znaleźć takie procesy.
źródło
Lockhunter ( http://lockhunter.com/ ) działa w systemach 32- i 64-bitowych.
źródło
Who Lock Me działa dobrze i sprawia, że ludzie bawią się tym imieniem!
źródło
Aby to wyjaśnić, jest to bardziej prawdopodobne, że aplikacje innych firm źle wykorzystują wywołanie API CreateFile API, niż w jakimkolwiek systemie Windows. Być może jest to konsekwencja projektu CreateFile, ale zrobione jest już zrobione i nie możemy wrócić.
Zasadniczo podczas otwierania pliku w programie systemu Windows można określić flagę, która umożliwia wspólny dostęp. Jeśli nie określisz flagi, program uzyska wyłączny dostęp do pliku.
Otóż, jeśli Explorer wydaje się tutaj winowajcą, być może jest to na pozór i że prawdziwy winowajcą jest coś, co instaluje rozszerzenie powłoki, które otwiera wszystkie pliki w folderze na własne potrzeby, ale jest też zbyt gung-ho, robiąc to, albo to nie oczyszcza się odpowiednio po sobie. Symantec AV to coś, co widziałem, robiąc to wcześniej, i nie byłbym zaskoczony, gdyby inne programy AV również były winne. Wtyczki kontroli źródła mogą być również winne.
Tak naprawdę nie jest to odpowiedź, ale tylko kilka porad, by nie zawsze obwiniać Windows za coś, co może być źle napisanym programem innej firmy (coś, co może się zdarzyć w każdym innym systemie operacyjnym z niejawnym blokowaniem plików, ale każdy system operacyjny oparty na Uniksie ma wspólny dostęp przez domyślna).
źródło
Na zdalnym serwerze, gdy sprawdzasz udział sieciowy, coś tak prostego jak konsola Zarządzanie komputerem może wyświetlić te informacje i zamknąć plik.
źródło
Apropos Explorer trzyma plik otwarty: „Gdy dzieje się tak w pliku, który musisz usunąć, możesz wymusić zamknięcie uchwytu lub zrestartować komputer”.
Możesz po prostu zakończyć Eksploratora.
Jeśli jest to jednorazowa sprawa (Explorer zwykle nie utrzymuje tego pliku w pozycji otwartej), domyślam się, że wylogowanie i ponowne zalogowanie załatwi sprawę.
W przeciwnym razie zabij proces Eksploratora pulpitu i rób, co chcesz, gdy go nie będzie. Najpierw uruchom kopię pliku cmd.exe (potrzebujesz interfejsu użytkownika, aby wykonać zamierzone czyszczenie). Upewnij się, że nie działają żadne Eksploratory inne niż stacjonarne. Następnie zabij ostatniego Eksploratora, np. Menedżerem zadań. Rób, co chcesz w wierszu polecenia. Na koniec uruchom Eksploratora z wiersza polecenia, a stanie się pulpitem.
Sądzę, że może być trochę nieprzyjemności, jeśli niektóre programy systray nie mogą poradzić sobie z ponownym uruchomieniem powłoki.
źródło
Pliki mogą być blokowane przez lokalne procesy ( odblokowanie to narzędzie do użycia) i przez dostęp do plików, który przychodzi poprzez udziały.
W systemie Windows jest wbudowana funkcja, która pokazuje, jakie pliki na komputerze lokalnym są otwierane / blokowane przez komputer zdalny (który ma plik otwarty przez udział plików):
Tam możesz nawet zamknąć plik na siłę.
źródło
Istnieje również widok Otwartych plików NirSoft .
źródło
Dzięki Process Hacker możesz łatwo określić, które procesy przechowują twoje pliki:
źródło
Powyższe wyżej ocenione odpowiedzi dotyczą sytuacji, w których proces programu trzyma uchwyt pliku otwarty, co (na szczęście) jest przez większość czasu - jednak w niektórych przypadkach (jak ma to miejsce obecnie w tym systemie) sam system trzyma uchwyt pliku otwarty.
Możesz zidentyfikować tę sytuację, postępując zgodnie z instrukcjami, aby znaleźć proces przechowywania dojścia do pliku za pomocą eksploratora procesów powyżej i zauważając, że nazwa procesu jest wymieniona jako „system”, lub postępując zgodnie z instrukcjami za pomocą monitora zasobów i zauważając, że nie jest wyświetlany żaden obraz otwieranie uchwytu pliku na zainteresowanym pliku (chociaż oczywiście coś działa, ponieważ nie można edytować / usunąć pliku itp.).
Jeśli tak się stanie, twoją opcją (o ile mi wiadomo) jest ponowne uruchomienie - lub zapomnienie o zrobieniu czegokolwiek z tym plikiem.
źródło
Jakiś czas temu zostałem włączony do Exteneded Task Managera przez blog Jeremy Zawodny, i jest świetny do śledzenia dalszych informacji o procesach. +1 dla Process Explorer, jak wyżej, szczególnie w przypadku zabijania procesów, których nie kończy standardowy menedżer zadań.
źródło
Jest narzędzie FILEMON i pokazuje otwarte pliki i uchwyty. Trudno jest nadążyć za wyświetlaczem, jeśli oglądasz go na żywo, robi to tak szybko. Możesz jednak zatrzymać wyświetlanie na żywo i obserwować wszystkie operacje otwierania / zapisywania plików. Teraz jest własnością Microsoft, ale pierwotnie Sysinternals
źródło