Используйте hdiutil info
для получения информации о подключенных в данный момент образах. затем
используйте hdiutil detach /Mount/Point
для отключения всех файловых систем и отсоединения образа.
Вам нужно будет проанализировать вывод из hdiutil info
, чтобы найти правильный путь к изображению, если смонтировано несколько изображений. Вероятно, будет более надежно использовать формат вывода plist hdiutil info -plist
и запустить его, скажем, в сценарии python с plistlib или в AppleScript, используя Property List Suite
из System Events
.
Вот быстрый и грязный скрипт на python, чтобы дать вам идею. С помощью интерпретатора python легко изучить параметры:
>>> import plistlib
>>> from subprocess import Popen, PIPE
>>> output = Popen(["hdiutil", "info", "-plist"], stdout=PIPE).communicate()[0]
>>> pl = plistlib.readPlistFromString(output)
>>> for image in pl['images']:
... for se in image['system-entities']:
... if se.get('mount-point') == '/Volumes/blah':
... print image['image-path']
/Path/To/blah.dmg