Ресурс занят mac os как исправить

Избавьтесь от сообщения «Ресурс занят» в Mac OS X

Unix и Linux: избавьтесь от сообщения «Ресурс занят» в Mac OS X (3 решения !!)

Я пытаюсь восстановить потерянный 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 — Я не знаю, что это. Я бы предположил, что это комбинированный жесткий диск и твердотельный накопитель iMac.

/ dev / disk4 — Внешний жесткий диск.

/ dev / disk5 — Я тоже понятия не имею, что это. Может, утилиты для / dev / disk4?

У iMac есть привод слияния, и /dev/disk1 это HDD. Я пробовал с SSD, /dev/disk2 , но я получаю тот же результат.

Я подключил iMac к другому компьютеру с помощью молнии, и, удерживая т при запуске iMac Macintosh HD появился как внешнее устройство на другом компьютере.

Как мне избавиться от этого сообщения? Я попытался перезагрузить iMac и компьютер, к которому он подключен.

  • обсуждения.apple.com/message/19120776#19120776
  • 1 Этот вопрос можно было бы лучше задать на «Спроси другого» . В любом случае: это однопользовательский режим, который вы используете? Во что вы сейчас загрузились?

Во-первых, 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. К сожалению, они усложняют управление разделами и исключают из рассмотрения многие продукты для восстановления дисков / разделов.

Читайте также:  Ошибка центра обновления windows 0х800f081f

Однако, помимо вышеперечисленных проблем, я не совсем уверен, в чем проблема. Вы упомянули, что таблица разделов потеряна, но вывод diskutil list предполагает, что ваши таблицы разделов в порядке.

Не могли бы вы подробнее рассказать о возникшей у вас проблеме?

  • Я только что обновил вопрос. Я предполагаю, что gpt будет правильным инструментом для использования вместо pdisk ?
  • Верный. Я обновил свой ответ, чтобы отразить дополнительную информацию, которую вы опубликовали.
  • Про потерянный раздел можно забыть, главное, почему я получаю это сообщение

попробуйте это: diskutil unmountDisk force / dev / disk0 (или любой другой ваш диск)

  • Это не работает.
  • @adib. Так случилось, что я столкнулся с аналогичной проблемой (продолжал получать «Ресурс занят», хотя lsof ничего не показал) и diskutil unmountDisk force /dev/disk у меня сработало! 👍
  • У меня это сработало.

У меня есть аналогичный проблема в OP, поэтому я подумал, что поделюсь тем, что нашел. В этом мой сценарий был другим;

1) Я купил новый Sandisk 32GB USB-накопитель, который мне понадобился позже в другом дистрибутиве unix. USB был предварительно отформатирован, как обычно, с FAT файловая система и некоторые файлы для резервного копирования и т. д.

2) У меня только Macbook Pro (MacOS 10.14.4) под рукой, но мне нужно было отформатировать флешку, чтобы ext2 что не так просто, как вам хотелось бы.

При подключении моего нового USB-накопителя я действительно встретил следующее:

Запуск e2fsprogs для форматирования USB-накопителя привел к следующему:

Что мне нужно было сделать, так это размонтировать раздел FAT с Mac, чтобы я мог отформатировать его в ext2 по мере необходимости;

Затем запустите исходную команду e2fsprogs, чтобы отформатировать USB-диск.

Обратите внимание на разницу между именем файловой системы и именем смонтированной файловой системы.

/ dev / disk2s1 установленный против / dev / disk2 устройство.

Источник

Избавьтесь от сообщения «ресурс занят» на 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.

Читайте также:  Windows 10 tdr error

/ 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 — имя искомого файла.

Читайте также:  Linux как установить uid для пользователя

В качестве альтернативы можно воспользоваться скриптом «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

После того как проблемная программа будет закрыта, вы, вероятнее всего, сможете свободно взаимодействовать с искомым файлом и открывать его в любой программе по вашему выбору.

Если описанные выше шаги результата не дали, вы всегда можете перезагрузить компьютер, что также может решить вашу проблему.

За оригинальный материал, послуживший основой при написании данной статьи, в очередной раз благодарим Кристофера Кесслера.

Источник

Оцените статью
Adblock
detector