Score:0

วิธีหลีกเลี่ยงสภาวะการแข่งขณะเมานต์ คัดลอกไฟล์ลงใน และถอนเมาต์อิมเมจ

ธง dk

สคริปต์นี้สร้างไฟล์รูปภาพสิบไฟล์และคัดลอกไฟล์ไปยังไฟล์เหล่านั้น

#!/bin/bash
# สคริปต์เพื่อสร้างอิมเมจฟล็อปปี้ดิสก์หลายชุดสำหรับการติดตั้ง hwp30
#+บนกล่องเสมือน

# ภาพ umount ในกรณีที่ติดตั้ง
sudo umount /media/ฟล็อปปี้ดิสก์

# สร้างภาพเปล่าขนาด 2.88mb สิบภาพ
#+จากนั้นเมานต์แต่ละภาพและคัดลอกไฟล์
สำหรับ n ใน {1..10}; ทำ
    mkfs.msdos -C "hwp30-${n}.img" 2880
    sudo mount -o วนซ้ำ "hwp30-${n}.img" /media/floppy
    sudo cp -v "../DISK${n}" /media/floppy

    # ถ้าดิสก์แรกให้คัดลอก INSTALL.EXE
    ถ้า [[ $n -eq 1 ]]; แล้ว
        sudo cp -v ../INSTALL* /media/floppy
    ไฟ
    
    sudo umount /media/ฟล็อปปี้ดิสก์
เสร็จแล้ว

# เสร็จแล้ว?
ถ้า [[ $? -eq 0 ]]; แล้ว
    ก้อง "เสร็จแล้ว!"
ไฟ

เมื่อฉันเรียกใช้สคริปต์นี้ การเมานต์ การคัดลอกไฟล์ และการถอนเมาต์ ไม่ซิงค์; พวกเขาไม่ได้ทำตามลำดับที่ถูกต้อง Umounting บอกว่า 'อุปกรณ์ไม่ว่าง' สองสามครั้ง

หลังจากเขียนสคริปต์เสร็จ ฉันต้องทำ นับ สั่งหลาย ๆ ครั้งเพื่อถอนออกทั้งหมด (แม้ว่าจะเป็นจุดเมานต์เดียวกันก็ตาม)

ฉันคิดว่าสิ่งนี้เรียกว่า สภาพการแข่งขัน. วิธีแก้ไข?

Soren A avatar
mx flag
อาจเกิดขึ้นเนื่องจากยังมี IO อยู่ในอิมเมจในขณะที่กำลังระบายแคช ลองเพิ่ม `ซิงค์; sync` ก่อนบรรทัดด้วย `sudo umount /media/floppy`.. สิ่งนี้จะขอล้างข้อมูลที่ไม่ได้เขียน - และรอให้มันเกิดขึ้น
Logan Lee avatar
dk flag
@SorenA ขอบคุณที่แก้ไข!
Soren A avatar
mx flag
เยี่ยมมากฉันได้เพิ่มเป็นคำตอบแล้ว โปรดยอมรับคำตอบ :-)
Score:2
ธง mx

ปัญหาอาจเกิดขึ้นได้แม้ว่าการคัดลอกจะเสร็จสิ้นแล้ว แต่ก็ยังมี IO เกิดขึ้นจากแคชไปยังอิมเมจที่เมาท์

เพิ่ม ซิงค์; ซิงค์ ก่อนบรรทัดด้วย sudo umount /media/ฟล็อปปี้ดิสก์.. สิ่งนี้จะขอล้างข้อมูลที่ไม่ได้เขียน - และรอให้มันเกิดขึ้น

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา