【问题标题】:Error when detaching volume using hdiutil on OS X在 OS X 上使用 hdiutil 分离卷时出错
【发布时间】:2010-10-28 18:26:58
【问题描述】:

我有一个在 Mac OS 10.5.8 上运行的程序。该程序运行一个连续的循环,它安装一个图像,安装一个浏览器插件并再次卸载图像。如果我让这个程序继续运行,我最终会遇到以下错误“fork:资源暂时不可用”。在活动监视器中,我可以看到数百个名为 diskimages-helper 的进程正在运行。有谁知道为什么会发生这种情况以及如何避免它?以下是我在程序的一个周期中使用的命令。

# First I remove the plugin
rm -rf "/Library/Internet Plug-Ins/my.plugin"

# If the mount exists I unmount it
hdiutil unmount [mount] -force

# If that doesnt work I detach the device
hdiutil detach [device] -force

# Then I mount the image
hdiutil mount [image]

# I install the plugin
installer -package [package] -target /

# Unmount
hdiutil unmount [mount] -force

# And if necessary detach
hdiutil detach [device] -force

【问题讨论】:

  • 您重复安装同一个浏览器插件?
  • 该程序做了一些其他的事情使它有用:) 它下载插件的不同版本并运行一些测试

标签: macos terminal volume detach


【解决方案1】:

您需要始终分离磁盘映像 -- 卸载它会卸载文件系统,但会将磁盘映像附加到 /dev/disk* 条目,并运行一个 diskimages-helper 进程来处理它.请注意,hdiutil detach 会为您卸载卷(前提是磁盘仲裁正在运行),因此您可以跳过卸载步骤。

【讨论】:

  • 感谢您的回答,我会试一试。 (很难说它是否有效,因为问题有时需要几天才能显现出来,它不像每个周期都会添加一个磁盘映像进程)
  • 嘿,戈登,我终于有时间尝试你的建议了,它似乎奏效了 :) 谢谢
  • 很遗憾mountattach 的同义词,但unmount 不是detach 的同义词。这让我大吃一惊,用disk* 条目慢慢填充/dev,最终导致no mountable file systems 错误。重新启动以清除/dev/disk* 条目并使用attach/detach 代替mount/unmount 看起来已经解决了问题。
猜你喜欢
  • 2016-03-26
  • 2013-10-07
  • 1970-01-01
  • 2016-07-09
  • 2018-12-09
  • 2016-12-06
  • 1970-01-01
  • 1970-01-01
  • 2012-09-06
相关资源
最近更新 更多