Частенько возникает ситуация, когда операционная система Windows ни за какие коврижки не соглашается удалить файл. Как правило, это свидетельствует о том, что объект уже занят одним из запущенных процессов. А как узнать, каким именно?
Очень просто: при помощи бесплатной утилиты WhoLockMe (74 кб) (http://www.dr-hoiby.com/WhoLockMe/). Проверим?
Моделируем исходную критическую ситуацию, добиваясь следующей картины:
Далее скачиваем архив с программой, распаковываем в выбранную директорию и запускаем файл install.bat для регистрации библиотеки wholockme.dll в системе. Напомним, что утилита работоспособна только в ОС Windows линейки NT.
Теперь, зайдя в "Проводник" и кликнув правой кнопкой мыши по любому объекту на жестком диске (будь то файл или отдельная папка), можно в контекстном меню обнаружить опцию "Who Lock Me?", активация которой выдаст полный список процессов, "удерживающих" данные.
Доступна следующая информация:
- Locker Name - имя процесса, заблокировавшего файл - PID - идентификатор процесса - Opened File - название открытого файла - Handle - дескриптор файла - Domain/User - данные о пользователе и домене, в котором он работает - Locker Full Path - полный путь к исполняемому файлу или модулю процесса
И это не все. Есть еще магическая кнопка Kill Process, позволяющая "прихлопнуть" любой выбранный процесс. Возможен выбор сразу нескольких объектов (это достигается удерживанием клавиши Ctrl).
Ну, что можно еще добавить? WhoLockMe - без сомнения, полезный инструмент, который сгодится в хозяйстве любому пользователю, а уж системным администраторам - тем более. Жаль только, что развитие утилиты застыло на стадии бета-версии еще три года назад...
|