- Переопределить «ресурс занят», когда rm на Mac OS X Terminal
- 8 ответов 8
- Что делать с поврежденным DMG?
- Избавьтесь от сообщения «ресурс занят» на Mac OS X
- 2 ответов
- Что делать, если файл занят или используется
- 1. Разрыв подключения (SIGHUP)
- 2. Завершить (SIGTERM) и Прервать (SIGINT)
- 3. Завершить принудительно (SIGKILL)
Переопределить «ресурс занят», когда rm на Mac OS X Terminal
Когда я пытаюсь удалить файл
Мне плевать обратно
Как я могу переопределить это? Я точно знаю , что ресурс не занят. Я просто хочу удалить это!
8 ответов 8
Вы не можете переопределить это поведение.
Операционная система заявляет, что она занята. Операционная система, вероятно, правильно. Сообщение об ошибке может быть по следующим причинам:
- файл фактически используется другим процессом
- есть проблема с вашей файловой системой
Поскольку вы хотите удалить файл, я предлагаю загрузить компьютер из образа linux, смонтировать файловую систему и удалить файл.
Попробуйте lsof filename чтобы увидеть, действительно ли он занят. Одной из наиболее распространенных причин этого является то, что вы пытаетесь удалить каталог, в котором у вас открыта оболочка.
Это старый вопрос, но я добавлю свои 2 цента, потому что в действительности существуют ситуации, когда файл на самом деле не используется, но ОС все еще думает, что это так.
Возможно, что файл на съемном устройстве будет использоваться во время сбоя системы, и система продолжит думать, что файл все еще используется, даже если lsof ничего не возвращает и файл на самом деле не используется. УдалениеDS_store не имеет никакого эффекта.
Временно можно переименовать файл или папку, если это необходимо. Затем извлеките утилиту для работы с диском и выполните восстановление диска / разрешения на восстановление для тома.
Самое простое, что вы можете сделать, это
Вы получите список процессов, которые удерживают этот процесс
Убить процессы, которые перечислены
Как говорят другие авторы, если вы знаете лучше, чем ОС, перезагрузите систему, и это заставит ее забыть. Но на самом деле они знают, о чем говорят .
Все вышеперечисленное. Система обычно не лжет, а значит, иногда так и есть.
Читайте дальше, потому что у меня была уникальная ситуация, в которой ни одно из предложенных ранее решений не работало, но мне удалось решить мою проблему.
В моем случае «занятый» файл представлял собой файл шрифта .ttf TrueType на «чужом диске» на подключенном к сети диске, и поэтому он вряд ли будет открыт системой при запуске. Команда lsof ничего не показала. Перезагрузка мака ничего не изменила. Выключение единственного другого компьютера в сети, который мог использовать файл, ничего не изменило.
Дисковая утилита не могла ничего сделать с дисководом, потому что это было не просто съемное устройство, это было удаленное устройство, не подключенное напрямую к Mac.
Я скопировал файл с новым именем, потому что в моем случае я хотел переименовать его, а не удалять. После копирования я не смог удалить оригинал, потому что он все еще был «занят».
Я вошел в подключенный к сети диск и попытался «проверить» «чужой диск», но проверка не удалась. Но теперь я смог удалить исходный файл — в Finder, без использования sudo или rm -f или чего-то подобного. Он больше не был «занят».
Источник
Что делать с поврежденным DMG?
Что делать с поврежденным DMG?
Встроенная в ноутбуки на Mac OS X поддержка широкого спектра форматов дисковых образов — один из наиболее удобных плюсов операционной системы, дающий вам возможность легко зашифровать или разбить ваши данные для их организации и управления. В то время как дисковые образы обычно достаточно надежны, иногда они все же могут быть повреждены.
К сожалению, если это происходит, то вы мало что можете сделать. Тем не менее вот несколько вещей, сделать которые попытаться стоит.
Первый шаг: архивирование
Перед тем, как пытаться вылечить поврежденный дисковый образ, убедитесь что у вас есть его копия. В то время как есть шансы что диск удастся исправить, не меньше шансов на то, что при попытках он будет поврежден еще сильней. В этом случае без копии не обойтись.
Попробуйте «Дисковую Утилиту »
«Дисковая Утилита» включает в себя несколько функций, которые вы можете попробовать использовать для решения проблемы. Откройте программу и перетащите дисковый образ в список устройств. Затем выберите его и в разделе «Первая помощь» запустите проверку диска. Если проблемы найдутся, попробуйте «Восстановить диск».
Если проблема осталась, вы можете попробовать конвертировать дисковый образ в другой формат или поменять его размер. В то время как эта процедура обычно требует неповрежденный дисковый образ, есть возможность, что прочитается и немонтируемый системой образ. Опции конвертации доступны в меню «Образы». Для изменения размера стоит попробовать опции изменения только раздела, всего дискового образа, а также опцию изменения обоих параметров, т.к. они затрагивают разные части конструкции образа.
Также, как и при восстановлении жесткого диска, может быть более результативным использование стороннего ПО, такого, как Data Rescue, VirtualLab, or Macintosh Data Recovery. Эти продукты могут дать лучший результат, чем другие, которые требуют, чтобы дисковый образ уже был смонтирован перед попыткой исправления — это, например, DiskWarrior или Drive Genius.
Также можно попробовать конвертировать дисковый образ в другой формат , используя утилиту dmg2iso. Кроме нее много и других разнообразных утилит для конвертации DMG, которые вы можете найти, VersionTracker.
Иногда проблема лежит в системном инструменте «diskimagemounter», который оказывается не в состоянии правильно обработать структуру дискового образа. В этом случае сторонний инструмент, не использующий эту системную функциональность, может дать лучший результат. Популярный инструмент для записи CD/DVD — Toast и некоторые другие программы монтировщики могут быть успешнее там, где системные инструменты не помогают. Кроме того, можно попробовать смонтировать проблемный образ, загрузившись в Safe Mode — когда программы и расширения, которые могут влиять на процесс монтирования, будут однозначно отключены.
Дополнительно можно попробовать смонтировать образ в другой операционной системе . Часто утилиты, обеспевающие мак-совместимость в Linux’е или Windows используют более успешные (хотя и зачастую «сырые») методы для монтирования или конвертирования файловой системы, чем методы Apple.
Вот некоторые из способов смонтировать DMG в другой операционной системе: Windows:
IsoBuster
TransMac
Сервисы восстановления данных
В качестве последнего средства есть различные сервисы восстановления данных, декларирующих, что они могут восстанавливать данные из поврежденных DMG-файлов.
Pacifist — установочные файлы под лупой
Бывает, что программы сбоят из-за повреждения какого-либо служебного файла — и на Маке такое случается. Однако переустанавливать «захворавшую» программу зачастую необязательно. Достаточно извлечь из дистрибутивного архива неповрежденную копию нужного файла и скопировать ее в требуемый каталог.
Конечно, следует четко знать, какой файл и почему мог оказаться поврежден, из-за чего конкретное приложение и приказало долго жить. Впрочем, если нужно заменить приложение целиком, «Пацифист» может установить его в папку, указанную в свойствах дистрибутива или указанную вами. Если же данная программа уже установлена, Pacifist это отследит и предупредит об этом, попросив вас подтвердить свои дальнейшие действия. Столь же бдительна утилита и в отношении любого файла, который вы хотите заменить его копией из открытого дистрибутива.
Помимо PKG- и MPKG-файлов, Pacifist поддерживает целый ряд архивных форматов, включая ZIP, BOM, DMG, PAX, TAR и многие другие. При этом программа может открыть архив, который хранится на удаленном сервере — достаточно ввести соответствующий URL-адрес, чтобы просмотреть его содержимое в древовидной структуре. Приятная мелочь — Pacifist комплектуется плагином для механизма Quick Look, который позволит быстро просмотреть общую структуру PKG- и MPKG-файлов (другие форматы плагином не поддерживаются).
Встроенные средства проверят упакованные данные на целостность и корректность прав доступа, а поддержка Security Framework дает возможность устанавливать файлы и приложения на правах администратора системы. При большом количестве файлов кстати придется поисковый механизм — к сожалению, не мгновенный (клавишу [enter] придется нажать).
Список программных расширений может подсказать, к примеру, в каком дистрибутиве нужно искать исправный файл (если это касается «яблочных» файлов).
Однако при всех своих достоинствах, Pacifist пока нельзя рассматривать как полноценную замену стандартному мастеру установки. Программа пока не поддерживает установочные сценарии, хотя и позволяет их внедрить внутрь дистрибутивного архива из внешнего файла. Разработчик об этом прекрасно знает, однако до сих пор сомневается, стоит ли это делать. Ведь и правда, Pacifist — инструмент для опытного пользователя, который должен понимать, что он делает. Простому же мак-юзеру за глаза хватает и возможностей стандартного инсталлятора, работающего в закрытом режиме, избавляя от подробностей установочного процесса.
Из вышесказанного можно сделать вывод, что данная программа способна вытаскивать данные из образов .dmg
Источник
Избавьтесь от сообщения «ресурс занят» на Mac OS X
я пытаюсь восстановить утерянный HSF+ таблица разделов iMac, запустив i команда внутри sudo pdisk /dev/rdisk1 . Как только я попробую запустить i команда, я получаю сообщение об ошибке, говорящее о том, что ресурс занят:
pdisk: не удается открыть файл’/dev / rdisk1 ‘ для записи (ресурс занят)
я получаю тот же результат при использовании /dev/disk1 , /dev/rdisk2 и /dev/disk2 .
я также пытался бежать sudo gpt /dev/(r)disk(1-3) . Интересно, что я получаю только результат от /dev/rdisk3 :
Итак, я пытаюсь увидеть, что использует ресурс, запустив sudo lsof /dev/rdisk1 , а также sudo lsof /dev/disk1 . Ничего не появляется:
я также попытался отключить устройство, запустив sudo umount /dev/disk1 а также sudo umount /dev/rdisk1 . Я получаю сообщение о том, что устройства в данный момент нет монтируется:
вот список всех дисков, подключенных к компьютеру, выполнить sudo DiskUtil list :
/ dev / disk0 — диск компьютера, к которому подключен iMac.
/ dev / disk1 — жесткий диск iMac.
/ dev / disk2 — SSD iMac.
/ dev / disk3 — я не знаю, что это. Я бы предположил, что это комбинированный жесткий диск и SSD iMac.
/ dev / disk4 — внешний жесткий диск.
/ dev / disk5 — я понятия не имею, что это такое. Может быть утилиты для /dev / disk4?
iMac имеет fusion drive и /dev/disk1 — это жесткий диск. Я пробовал с SSD, /dev/disk2 , но я получаю то же самое результат.
iMac подключен к другому компьютеру через thunderbolt, и by удерживая t при запуске iMac на Macintosh HD отображается как внешнее устройство на другом компьютере.
как я могу избавиться от этого сообщения? Я попытался перезапустить iMac и компьютер, к которому он подключен.
2 ответов
во-первых, pdisk команда используется для изменения дисков, которые разбиты на разделы с помощью карты разделов Apple. Их используют только компьютеры Mac на базе PowerPC.
во-вторых, ваш umount команды выше не выполняются, так как /dev/disk1 и /dev/disk2 не смонтированы. Обычно монтируются только разделы (например, /dev / disk0s3), хотя в вашем случае у вас есть Fusion Drive. Вы абсолютно правы, что /dev/disk3 не «настоящий» диск. Это общая емкость /dev / disk1s2 и / dev / disk2s2. Если ввести umount /dev/disk3 , это должно сработать. Конечно, ничего не монтируется на /dev / disk1 или /dev / disk2, так что вам придется выпустить diskutil unmountdisk /dev/diskN для тех, кто. Это должно освободить их так gpt команда перестанет давать вам ресурс занят ошибка.
Fusion диски используют разделы Apple CoreStorage в качестве контейнеров, который является своего рода аналогом динамических дисков Microsoft. К сожалению, они затрудняют работу с разделами и занимают много дисков / разделов восстановление продуктов со стола.
Однако, помимо вышеуказанных проблем, я не совсем уверен, в чем проблема. Вы упоминаете, что таблица разделов потеряна, но вывод из diskutil list предполагает, что ваши таблицы разделов в порядке.
не могли бы вы подробнее рассказать о своей проблеме?
Источник
Что делать, если файл занят или используется
При открытии файла той или иной программой, доступ к нему временно блокируется. Обычно блокировка длится лишь до тех пор, пока содержимое файла не будет прочитано и перенесено в оперативную память, что как правило не занимает много времени, а после этого доступ к файлу может получить любое другое приложение или сервис, чтобы сработать по той же самой схеме «заблокировать — прочитать — разблокировать». Однако, бывают случаи, когда программа сохраняет блокировку даже после прочтения файла. Такое может произойти как по ошибке, так и из-за специфики работы самой программы. В любом случае, дальнейшее взаимодействие с этим файлом будет невозможно, а попытки его редактировать, удалить, перенести или открыть в другой программе будут приводить к возникновению различных сообщений о том, что искомый файл заблокирован, недоступен, используется или даже, что у вас недостаточно прав для доступа к нему.
Самый простой способ решить эту проблему — завершить работу приложения, которое препятствует дальнейшему взаимодействию с файлом. Но вычислить, что именно это за программа, может быть довольно непросто, ведь «виновным» может оказаться и какой-нибудь фоновый процесс. Справиться с этой задачей можно при помощи Терминала.
Команда «lsof» выводит на экран список всех файлов, которые на данный момент открыты в той или иной программе. Поскольку список может быть довольно длинным, а нам нужна информация только по одному файлу, можно применить фильтр по его имени. Для этого запустите Терминал из папки «Утилиты» и введите команду lsof | grep filename где filename — имя искомого файла.
В качестве альтернативы можно воспользоваться скриптом «fuser» входящим в состав OS X. Этот скрипт, также использует команду «lsof», но его вывод более прост для восприятия. Скрипт проверяет, используется ли в данный момент указанный вами файл, и, если используется, то каким именно процессом.
Запустите Терминал из папки «Утилиты» и введите команду fuser /path/to/file где /path/to/file — полный путь к искомому файлу. Для того чтобы его ввести, достаточно просто перетащить нужный файл в окно Терминала.
После того как нам стал известен ID процесса можно запустить Мониторинг ресурсов и определить, какой программе он соответствует (для упрощения поисков можно использовать сортировку по PID, нажав на заголовок соответствующей колонки). Если искомый ID присвоен пользовательской программе, а не какому-нибудь служебному сервису, в первую очередь стоит попробовать завершить её работу штатными средствами, через графический интерфейс. Если этого сделать не удается можно последовательно опробовать несколько вариантов, доступных в окне Мониторинга системы. Выделите нужный процесс и перейдите в меню Вид — Послать сигнал процессу. Затем выберите в ниспадающем меню один из сигналов, описанных ниже, и нажмите кнопку «Отправить». В качестве альтернативы вы, опять же, можете воспользоваться Терминалом.
1. Разрыв подключения (SIGHUP)
Данный сигнал заставит процесс освободить используемые ресурсы. Обычно в результате программа просто обновляет свою конфигурацию и продолжает работать дальше. Чтобы послать такой сигнал при помощи Терминала, введите команду kill -1 PID где PID — ID процесса, который мы узнали ранее.
2. Завершить (SIGTERM) и Прервать (SIGINT)
Это стандартный сигнал, который получает команда при штатном завершении её работы. В этом случае программа сначала сохранить все изменения и свою конфигурацию, а только после этого завершит работу. Для этого в окне Терминала вы можете ввести одну из приведенных ниже команд.
Для завершения: kill PID или kill -15 PID
Для прерывания: kill -2 PID
3. Завершить принудительно (SIGKILL)
Если вы пытаетесь завершить программу, но ничего не происходит, вероятнее всего вы посылаете сигнал штатного завершения (SIGTERM) или прерывания (SIGINT) работы, а они в некоторых случаях могут быть проигнорированы. Чтобы это обойти вы можете попробовать принудительно завершить проблемное приложение при помощи сигнала «SIGKILL». Чтобы сделать это при помощи Терминала, введите команду: kill -9 PID
После того как проблемная программа будет закрыта, вы, вероятнее всего, сможете свободно взаимодействовать с искомым файлом и открывать его в любой программе по вашему выбору.
Если описанные выше шаги результата не дали, вы всегда можете перезагрузить компьютер, что также может решить вашу проблему.
За оригинальный материал, послуживший основой при написании данной статьи, в очередной раз благодарим Кристофера Кесслера.
Источник