часто случается такое, когда определенные файлы не удаляются. А система при этом пишет, что данный файл или папка заняты другим процессом. Такое может произойти как в Windows XP, так и в Windows 7, 8, 10. Сегодня мы с Вами рассмотрим методы устранения подобной проблемы, когда файлы не удаляются .
При открытии файла той или иной программой, доступ к нему временно блокируется. Обычно блокировка длится лишь до тех пор, пока содержимое файла не будет прочитано и перенесено в оперативную память, что как правило не занимает много времени, а после этого доступ к файлу может получить любое другое приложение или сервис, чтобы сработать по той же самой схеме «заблокировать — прочитать — разблокировать». Однако, бывают случаи, когда программа сохраняет блокировку даже после прочтения файла. Такое может произойти как по ошибке, так и из-за специфики работы самой программы. В любом случае, дальнейшее взаимодействие с этим файлом будет невозможно, а попытки его редактировать, удалить, перенести или открыть в другой программе будут приводить к возникновению различных сообщений о том, что искомый файл заблокирован, недоступен, используется или даже, что у вас недостаточно прав для доступа к нему.
Самый простой способ решить эту проблему — завершить работу приложения, которое препятствует дальнейшему взаимодействию с файлом. Но вычислить, что именно это за программа, может быть довольно непросто, ведь «виновным» может оказаться и какой-нибудь фоновый процесс. Справиться с этой задачей можно при помощи Терминала .
Команда «lsof» выводит на экран список всех файлов, которые на данный момент открыты в той или иной программе. Поскольку список может быть довольно длинным, а нам нужна информация только по одному файлу, можно применить фильтр по его имени. Для этого запустите Терминал из папки «Утилиты» и введите команду lsof | grep filename
где filename
— имя искомого файла.
В качестве альтернативы можно воспользоваться скриптом «fuser» входящим в состав OS X. Этот скрипт, также использует команду «lsof», но его вывод более прост для восприятия. Скрипт проверяет, используется ли в данный момент указанный вами файл, и, если используется, то каким именно процессом.
Запустите Терминал
из папки «Утилиты» и введите команду fuser /path/to/file
где /path/to/file
— полный путь к искомому файлу. Для того чтобы его ввести, достаточно просто перетащить нужный файл в окно Терминала
.
После того как нам стал известен ID процесса можно запустить Мониторинг ресурсов
и определить, какой программе он соответствует (для упрощения поисков можно использовать сортировку по PID, нажав на заголовок соответствующей колонки). Если искомый ID присвоен пользовательской программе, а не какому-нибудь служебному сервису, в первую очередь стоит попробовать завершить её работу штатными средствами, через графический интерфейс. Если этого сделать не удается можно последовательно опробовать несколько вариантов, доступных в окне Мониторинга системы
. Выделите нужный процесс и перейдите в меню Вид — Послать сигнал процессу. Затем выберите в ниспадающем меню один из сигналов, описанных ниже, и нажмите кнопку «Отправить». В качестве альтернативы вы, опять же, можете воспользоваться Терминалом
.
Данный сигнал заставит процесс освободить используемые ресурсы. Обычно в результате программа просто обновляет свою конфигурацию и продолжает работать дальше. Чтобы послать такой сигнал при помощи Терминала , введите команду kill -1 PID где PID — ID процесса, который мы узнали ранее.
Это стандартный сигнал, который получает команда при штатном завершении её работы. В этом случае программа сначала сохранить все изменения и свою конфигурацию, а только после этого завершит работу. Для этого в окне Терминала вы можете ввести одну из приведенных ниже команд.
Для завершения: kill PID или kill -15 PID
Для прерывания: kill -2 PID
Если вы пытаетесь завершить программу, но ничего не происходит, вероятнее всего вы посылаете сигнал штатного завершения (SIGTERM) или прерывания (SIGINT) работы, а они в некоторых случаях могут быть проигнорированы. Чтобы это обойти вы можете попробовать принудительно завершить проблемное приложение при помощи сигнала «SIGKILL». Чтобы сделать это при помощи Терминала , введите команду: kill -9 PID
После того как проблемная программа будет закрыта, вы, вероятнее всего, сможете свободно взаимодействовать с искомым файлом и открывать его в любой программе по вашему выбору.
Если описанные выше шаги результата не дали, вы всегда можете перезагрузить компьютер, что также может решить вашу проблему.
За оригинальный материал , послуживший основой при написании данной статьи, в очередной раз благодарим Кристофера Кесслера.
Windows-системы настолько специфичны, что могут использовать некоторые системные или даже пользовательские компоненты совершенно непредсказуемо, а при попытке доступа к какому-то элементу пользователю выдается сообщение о том, что файл занят другой программой. Что делать в такой ситуации, знают немногие. Большинство пытается либо завершить активные процессы в «Диспетчере задач», либо принудительно перезагрузить компьютер. Такие действия не всегда уместны, особенно если точно не знаешь, каким именно процессом используется файл в данный момент. Далее к рассмотрению предлагается несколько типичных ситуаций с решениями по их исправлению.
Давайте начнем с самого элементарного и посмотрим на саму операционную систему. Почему пишет «Файл занят другой программой»? Пользователь ведь точно уверен, что он выбранный для открытия или просмотра объект одновременно в нескольких приложениях не использует.
Самая главная проблема в том, что и сам пользователь может быть невнимательным, и операционная система может использовать один и тот же файл в собственных целях (этим может совершенно элементарно заниматься даже несколько системных служб, о работе которых юзер даже не догадывается). Если знаете название файла, просто закройте его через командную строку, как показано выше.
Чтобы понимание ситуации было наиболее полным, рассмотрим несколько типичных примеров. Для начала рассмотрим обычную ситуацию с популярными приложениями для загрузки торрентов.
Пользователь поставил контент на загрузку, но забыл об этом и пытается удалить исходный торрент-файл. Естественно, что система и сообщает ему, что файл занят другой программой. Что делать в этом случае? Для начала нужно либо дождаться окончания загрузки, либо завершить ее досрочно. После этого оригинальный объект или частично загруженное содержимое можно будет безболезненно удалить.
Нередко можно встретить и ситуации, когда пользователем производится редактирование одного и того же офисного документа в разных приложениях. Предположите, что вы открыли текстовый документ в Word Pad. Эта программа является большей частью только просмотрщиком и полноценное редактирование содержимого производить не позволяет. Естественно, пользователь тут же открывает документ в «Ворде», забывая закрыть Word Pad, вносит изменения, а при попытке сохранения получает сообщение о том, что файл занят другой программой. Что делать, думается, уже понятно. Закрыть первую программу, после чего сохранение станет доступным.
Несколько хуже выглядит ситуация с использованием драйверов устройств, особенно если они виртуальные. Например, у вас есть программный плеер Kontakt, который установлен в системе не только в виде плагина форматов VST или RTAS, но и в качестве Standalone-приложения (работающего независимо от подключаемого хоста). Вы открываете в нем какой-то сэмпл, а после этого запускаете такой-же плагин в DAW-студии и пытаетесь загрузить его уже в VST-версию плеера. Понятно, что в одной из программ вы и получите ошибку. В частности, тут проблема состоит в том, что и студия, и плеер, одновременно не могут обращаться к драйверам ASIO4ALL. И снова появится сообщение о том, что файл занят другой программой. Как открыть такое содержимое? Опять же решение на поверхности - завершить одно из приложений. Но это только самые простые ситуации, какие можно встретить. Теперь посмотрим, как их исправить и устранить возникающие ошибки.
Как уже говорилось, многие пытаются произвести принудительный рестарт системы без завершения блокирующего процесса. Делать этого не стоит ни при каких обстоятельствах, если, конечно, это системный процесс.
В случае с пользовательскими данными ничего страшного в перезагрузке не будет. Как перезагрузить компьютер? Элементарно! Даже принудительный рестарт не потребуется. Просто выполните стандартную перезагрузку через меню «Пуск» или через «Диспетчер задач» (можно даже без завершения активных процессов).
Но можно поступить иначе, завершив ненужный активный процесс. Для этого, если есть хотя бы предварительное понятие о том, какие процессы могут использовать искомый объект, можно воспользоваться средствами «Диспетчера задач», в котором производится завершение одной из служб.
Если же пользователь и понятия не имеет, какими именно приложениями занят файл, лучше воспользоваться утилитой Process Explorer, разработанной корпорацией Microsoft (скачать ее можно прямо на официальном ресурсе компании).
Как перезагрузить компьютер или завершить ненужные процессы, разобрались. Теперь посмотрим на проблему того, что вышеуказанное сообщение появляется при попытке удаления файлов. Блокирование доступа может производиться именно на уровне самой операционной системы, не говоря уже о недостаточности прав или воздействии вирусов. О вирусах сейчас речь не идет.
Для восстановления полного доступа простейшим решением можно назвать использование специальной утилиты Unlocker (с Windows 7 дело обстоит гораздо проще, поскольку в некоторых модификациях данное приложение является встроенным в систему (предустановленный апплет). В любом другом случае можете просто скачать официальную версию, установить ее или использовать программу в виде портативной утилиты, не требующей инсталляции.
Наконец, для удаления выбранных объектов можно воспользоваться предоставлением себе полных прав на редактирование и изменение файлов и папок.
Для этого необходимо использовать раздел свойств, вызываемый через ПКМ на выбранном объекте с изменением владельца или добавлением конкретного пользователя в администраторскую группу, после чего на всех доступных пунктах нужно просто установить галочки.
Попутно, если доступ будет блокироваться и после этого, можно воспользоваться поиском Windows, найти раздел контроля регистрационных записей UAC, введя искомое сочетание в поисковое поле, а затем снизить уровень за счет перемещения ползунка в самое нижнее положение. Но заниматься такими операциями рекомендуется только опытным пользователям, поскольку снижение уровня безопасности автоматически деактивирует некоторые важные элементы защиты системы.
На этом в вопросе того, как исправить ошибку «Файл занят другой программой», в общем-то, можно поставить точку. Самый главный вывод, который можно сделать из всего вышеизложенного, состоит в том, что производить принудительный рестарт системы вовсе необязательно. Можно применить и более изощренные методы устранения возникших проблем. Но тут все зависит исключительно от сложившейся ситуации и от того, какие именно действия необходимо предпринять в данный момент.
Любой пользователь компьютера хотя бы раз сталкивался с ситуацией, когда при попытке удалить папку (или файл), операционная система Windows не позволяет этого сделать, выдавая сообщение о том, что они открыты в другой программе.
Казалось бы, нет ничего проще: достаточно просто закрыть все активные приложения и препятствия для удаления ненужной папки будут устранены. Но зачастую случается так, что даже после закрытия всех программ операционка все равно выдает все, то, же назойливое сообщение.
Причин тому может быть множество, основными из которых являются следующие:
А удаление ненужных объектов бывает зачастую просто необходимым, поскольку они занимают место, а порой даже способны существенно замедлить быстродействие всей системы в целом. Что же делать в таких случаях?
Если после закрытия всех программ и приложений операционная система продолжает считать, что папка занята другим процессом, для ее удаления придется воспользоваться более сложными действиями. Существует несколько способов решения проблемы:
Поскольку причина, по которой папку не удается удалить, не всегда очевидна, придется последовательно применить эти способы.
Нередко лучшим ответом на данный вопрос является простая перезагрузка компьютера. Недаром у профессиональных программистов существует такая поговорка: «семь бед – один ресет». Зачастую после повторного запуска любая версия операционной системы с легкостью позволяет удалить ненужные объекты.
Использование диспетчера задач
Если и после перезагрузки пресловутая надпись при попытках удаления продолжает появляться, то скорее всего какая-то программа или приложение продолжает работать в «скрытом» или «спящем» режиме.
В этом случае может помочь обращение к встроенному системному диспетчеру задач. Он вызывается нажатием сочетания клавиш «Ctrl», «Alt» и «Delete». В возникшем окошке будут отображены все запущенные приложения и рабочие процессы.
Переключаясь между соответствующими вкладками, можно остановить работу той или иной программы, кликнув на ней правой кнопки мыши.
Если неизвестно, какой именно программой используется удаляемая папка, то самым эффективным способом является остановка всех работающих приложений («снять задачу»). После чего следует повторить попытку удаления. Еще остались вопросы по теме, как удалить папку на компьютере, если система пишет, что она открыта в другой программе, тогда читаем дальше.
Обратите внимание! Иногда проблемы с удалением ненужных объектов связаны с блокировкой прав. Порой Windows требует от пользователя для операций с теми или иными объектами более высоких иерархических полномочий. В этом случае необходимо войти в систему от имени (или с правами) администратора и операция по удалению требуемых объектов пройдет успешно.
Если методы, перечисленные выше, не возымели должного эффекта, можно воспользоваться специализированной программой. Одной из наиболее популярных, мощных и эффективных бесплатных утилит подобного рода является Unlocker.
Пользоваться этим деинсталлятором достаточно просто. После скачивания и установки программы при выделении объекта, подлежащего удалению, правой кнопкой мыши, в выпадающем контекстном меню появляется соответствующая строка. Остается лишь кликнуть по ней, выбрать опцию «нет действия», нажать «удалить» и подтвердить, кликнув «ок».
После произведенных манипуляций полное удаление нежелательной папки должно стать доступным после перезагрузки.
Существуют и альтернативные методы удаления файлов и папок, требующих определенных познаний в пользовании компьютером, специальными программами и системными файлами.
Таким образом, решить проблему с невозможностью удалить папку или файл, когда операционная система Windows (последних версий, начиная с XP) пишет, что они заняты другой программой, можно различными методами. Попробуйте произвести операции, перечисленные выше, по порядку. Скорее всего, один из способов позволит добиться желаемого эффекта!
На Windows любых версий (XP, 7, 8, 10) часто возникает проблема, когда файл или папка с заблокированным файлом не удаляется. Выскакивает сообщение, что файл занят другим процессом или открыт в какой-то программе, либо нужно спросить разрешения у кого-то.
Есть несколько способов удалить файл, который не удаляется, не переименовывается и не перемещается. Это делается без дополнительного софта, с помощью бесплатной программы Unlocker, с загрузочной флешки или диска LiveCD, либо программой DeadLock.
При удалении заблокированных файлов и папок будьте внимательны, это может быть часть операционной системы. Без них Windows перестанет загружаться.
Описанные в статье способы помогут не всегда:
Если файл не хочет удаляться, в сообщении с ошибкой обычно написано, какой процесс заблокировал его. Это может быть explorer.exe или любая программа, в которой он открыт. Если закрыть эту программу, файл удалится.
Если у вас есть загрузочная флешка или диск LiveCD, либо диск восстановления Windows, запустите их и спокойно удалите файл стандартным методом или через командную строку.
Будьте внимательны, иногда при входе через загрузочный диск локальные диски имеют другие буквы. Чтобы посмотреть список папок на диске С пропишите в командной строке dir c: .
Если использовать загрузочную флешку или диск установки Windows, консоль открывается в любой момент после этапа выбора языка, сочетанием клавиш Shift + F10 .
Также можно выбрать режим восстановления системы, который будет предложен перед началом установки ОС.
Команда для удаления через консоль: del полный_путь_к_файлу.
Бесплатная программа DeadLock позволяет удалить заблокированный файл и изменить владельца. Скачать с официального сайта: https://codedead.com/?page_id=822 .
Через меню File добавляете проблемный файл в программу. Правым кликом нажимаем на него в списке - разблокируем (Unlock) и удаляем (Remove).
Самая простая и популярная программа, но сейчас даже на официальном сайте отображается предупреждение о нежелательном ПО. Вместе с программой может идти еще какая-то вирусня или реклама, поэтому используйте на свой страх и риск. Сначала попробуйте способы выше. Сайт: http://www.emptyloop.com/unlocker/.
После установки в контекстном меню появится новый пункт, который так и называется - Unlocker. После нажатия на кнопку программа завершит мешающие процесс и файл разблокируется.
Если хотите удалить папку, сначала удалите все её содержимое.
Был такой случай, что файл не хотел удаляться никаким из способов. Размер был 0 байт, название написано русскими буквами (не поддерживается в старых версиях MS-DOS), стоял атрибут Read-only и атрибут А (только чтение и пополнение содержимого). Помогла командная строка.
На этом пока всё. Если знаете более простые и действенные способы, напишите их в комментариях. Какой способ помог вам?