Windows Server 2016

Файл заблокований процесом Windows, як видалити блокування?

Файл заблокований процесом Windows, як видалити блокування?

Іноді, намагаючись видалити, перейменувати або перемістити якийсь файл у Windows, ви можете отримати повідомлення про те, що файл зайнятий/заблокований/використовується) інший процес. Найчастіше назва програми, яка містить відкритий файл, вказується прямо у вікні повідомлення про провідник файлів. Щоб видалити блокування файлу, просто закрийте цю програму. Але існує ситуація, коли деякі файли та бібліотека використовуються невідомим або системним процесом. У цьому випадку видаляти блокування з файлу трохи складніше.

Багато програм відкривають файли в режимі монополії (ексклюзивного). У цьому випадку файл блокується файловою системою з операцій введення виводу інших програм. Якщо ви закриєте програму, замок видаляється з файлу.

Повідомлення про блокування файлу може виглядати по -іншому. Наприклад, у наступному прикладі вказано тип файлу та з якою програмою він пов'язаний:

Файл/папка, що використовується. Дія Canm буде завершена, оскільки файл відкритий в іншій програмі. Закрийте папку або файл і спробуйте ще раз.
Файл вже використовується. Операція не може бути завершена, оскільки файл або папка відкриті в іншій програмі. Закрийте файл і повторіть спробу.

У цьому випадку ви можете легко зрозуміти, яка програма заблокувала файл і закрити його.

Однак іноді ви можете побачити більш цікаве повідомлення про те, що файл заблокований невідомим або системним процесом Windows. Це може бути як процес ОС Windows, так і інші процеси, що працюють із системою, наприклад, антивірусом, резервним агентом, базою даних MSSQL тощо.D.):

Дія може '.
Файл вже використовується. Дія не може бути виконана, оскільки цей файл відкритий для системи.

Давайте спробуємо розібратися, як зрозуміти, яка програма, сервіс або системний процес Windows зайнятий файлом, як розблокувати файл і чи можна розблокувати файл, не закривши батьківський процес.

Якщо ви не можете видалити папку в мережевому каталозі, ця проблема частіше пов'язана з наявністю файлу великих пальців.Db з кешем мініатюрних файлів у папці або за тим, що файл у файлі SMB відкритий (заблокований) іншим користувачем.

Найпростіший варіант розблокування файлу - це завершити процес, який його заблокував. Але це не завжди можливо, особливо на серверах.

Найчастіше для пошуку процесу, який заблокований файл, рекомендується використовувати утиліту Розблокувати. Особисто я Розблокувати не використовувати.до. Це не дозволяє отримати детальну інформацію про процес або ланцюг процесів, які заблокували файл. Також неможливо випустити конкретний файл, зайнятий процесом - ви повинні повністю заповнити заявку.

Крім того, це третя партія, при встановленні, якою потрібно бути обережним, t.до. У цьому процесі вона пропонує встановити у завантаженні непотрібні програми.

Коли процес у Windows відкриває файл, у цьому потоку введення/виводу присвоюється дескриптор файлу (обробник). Процес та його дочірні компанії отримують доступ до файлу для цього дескриптора. Через API вікна ви можете надіслати сигнал у файлову систему для випуску цього дескриптора та видалити блокування з файлу.
Примусове закриття дескрипторів файлів може спричинити нестабільну програму або комп'ютер. Якщо ви не знаєте, до чого призведе закриття дескриптора файлу для певної програми, тоді не намагайтеся робити це на продуктивному сервері без попереднього тесту.

Як розблокувати файл за допомогою провідника процесу?

Процесиплорер Це безкоштовна утиліта від набору системних утиліт Sysinternals, яку можна завантажити на веб -сайті Microsoft (https: // docs.Microsoft.Com/en-sus/sysinternals/завантаження/процес процесу). Давайте спробуємо використовувати Провідник Process, щоб знайти, який процес заблокував певний файл, і випустить цей файл, скинувши дескриптор файлу процесу.

  1. ProcessExplorer не потребує установки, просто завантажте та запустіть права адміністратора Procexp.Екзе ;
  2. Виберіть меню Знаходити -> Знайдіть ручку або DLL (або натисніть кнопку Ctrl-f );
  3. Вкажіть ім'я файлу, який потрібно розблокувати, і натиснути Обшук;
  4. Виберіть потрібний файл. Процес, який відкрив файли, буде вибрано в процесі процесів. Ви можете завершити цей процес, натиснувши на нього правою кнопкою та вибравши Дерево процесу вбивства. Але ви можете спробувати закрити дескриптор файлу, не завершуючи весь процес. Дескриптор файлу, який ви шукали. Клацніть на дескриптор з правою кнопкою та виберіть Закрити ручку. Підтвердьте закриття файлу. Якщо ви не відображаєте нижню панель зі списком відкритих дескрипторів процесу в провіднику процесу, увімкніть перегляд -> Перегляд нижньої панелі -> Пункт меню ручок

Отже, ви закрили дескриптор файлу, не завершуючи батьківський процес. Тепер ви можете спокійно видалити або перейменувати файл.

Скидання дескриптора файлу за допомогою утиліти ручки

Ручка - Це ще одна команда String Utility з набору інструментів Sysinternals (доступна для завантаження на веб -сайті Microsoft (https: // docs.Microsoft.Com/en-sus/sysinternals/завантаження/ручка. Це дозволяє знайти процес, який заблокував ваш файл, та видалити замок, звільнивши дескриптор.

  1. Завантажте та розпакуйте архів за допомогою утиліти ручки;
  2. Запустіть командний рядок з правами адміністратора та виконайте команду: Ручка64.Exe> listproc.TXT  Ця команда збереже список відкритих дескрипторів у файлі. Ви можете відобразити дескриптори для каталогу, в якому знаходиться файл, який ви хочете змінити: Ручка64.Exe -a c: \ якийсь \ шлях Або конкретний процес: Ручка64.Exe -p winword.Екзе
  3. Відкритий список.txt в будь -якому текстовому редакторі та знайдіть рядок, який вказує назву заблокованого файлу. Копіювати Ідентифікатор Дескриптор файлу (значення у форматі шестигранного). Потім підніміться трохи вище до розділу, в якому вказаний процес, який є власником цього дескриптора, і записуйте його ідентифікатор. Для процесу системи, що працює від імені системи, швидше за все, буде PID 4. Для деяких системних процесів обробляють.Exe поверне наступний текст: Винініт.EXE PID: 732 \ . Це означає, що ви не можете отримати інформацію про ці системні процеси (навіть з правами адміністратора). Щоб отримати дескриптори файлів, відкриті за допомогою таких процесів, запустіть командний рядок системи та спробуйте знову отримати список дескрипторів.
  4. Тепер поверніться до командного рядка і опустіть дескриптор файлу відповідно до отриманої ручки та процесу. Формат команди такий: Handl64e.Exe -c ручка -processid Наприклад: Handl64e.Exe -c 18c -p 18800
  5. Утиліта вимагатиме підтвердити закриття файлу для вказаного процесу. Підтвердьте, натисніть Y -> Введіть

Якщо система реагує на закриття файлу правильно, ви розблокуєте файл без необхідності завершити процес або перезапустити сервер/комп'ютер.

DVD Ripper Platinum - копіювання DVD на жорсткому диску з кращою якістю
Відмова від оптичних накопичувачів - це не тільки в ноутбуках, але й у настільних комп'ютерах - чіткий сигнал про те, що епоха DVD добігає кінця. Сьог...
Як встановити Windows за допомогою DISM ++
Небудовий процес встановлення Windows може знадобитися в різних ситуаціях. Коли стандартний процес закінчується помилкою. Коли в Біос Немає підтримки ...
Як заощадити при купівлі комп’ютера
Основне правило економії грошей при купівлі ПК або ноутбука - це потужність, що відповідає тим операціям, які ми плануємо здійснити. Сила комп'ютерног...