首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何避免在安装、复制文件和汇总图像时出现争用情况

如何避免在安装、复制文件和汇总图像时出现争用情况
EN

Ask Ubuntu用户
提问于 2021-08-01 06:08:39
回答 1查看 122关注 0票数 0

此脚本创建10个图像文件,并复制文件(S)给他们。

代码语言:javascript
复制
#!/bin/bash
# script to create multiple floppy images for installing hwp30
#+on virtualbox.

# umount image in case mounted
sudo umount /media/floppy

# create ten blank 2.88mb images.
#+then mount each image and copy over file(s).
for n in {1..10}; do
    mkfs.msdos -C "hwp30-${n}.img" 2880
    sudo mount -o loop "hwp30-${n}.img" /media/floppy
    sudo cp -v "../DISK${n}" /media/floppy

    # if first disk then copy over INSTALL.EXE
    if [[ $n -eq 1 ]]; then
        sudo cp -v ../INSTALL* /media/floppy
    fi
    
    sudo umount /media/floppy
done

# done?
if [[ $? -eq 0 ]]; then
    echo "done!"
fi

当我运行这个脚本时,文件的挂载、复制和umounting都是同步的out ;它们没有按照正确的顺序完成。乌蒙曾说过“设备很忙”几次。

脚本完成后,我需要执行几次umount命令来汇总它们(即使它是相同的挂载点?)。

我认为这被称为race条件。怎么修?

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2021-08-01 06:47:00

问题可能是,即使副本已经完成,它仍然是IO从缓存到挂载映像。

sync; sync添加到sudo umount /media/floppy行前面。这将请求刷新未写入的数据,并等待其发生。

票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1355278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档