6

我有一个在 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
4

1 回答 1

11

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

于 2010-10-28T22:04:31.723 回答