Điểm:0

Làm cách nào để tránh tình trạng tương tranh khi gắn, sao chép tệp vào và xóa số lượng hình ảnh

lá cờ dk

Tập lệnh này tạo mười tệp hình ảnh và sao chép (các) tệp vào chúng.

#!/bin/bash
# kịch bản tạo nhiều hình ảnh đĩa mềm để cài đặt hwp30
#+trên hộp ảo.

# umount hình ảnh trong trường hợp được gắn kết
Sudo umount /media/đĩa mềm

# tạo mười hình ảnh trống 2,88mb.
#+sau đó gắn từng hình ảnh và sao chép qua (các) tệp.
cho n trong {1..10}; làm
    mkfs.msdos -C "hwp30-${n}.img" 2880
    vòng lặp sudo mount -o "hwp30-${n}.img" /media/software
    sudo cp -v "../DISK${n}" /media/floppy

    # nếu là đĩa đầu tiên thì copy qua INSTALL.EXE
    nếu [[ $n -eq 1 ]]; sau đó
        Sudo cp -v ../CÀI ĐẶT* /media/đĩa mềm
    fi
    
    Sudo umount /media/đĩa mềm
xong

# xong?
nếu [[ $? -eq 0 ]]; sau đó
    tiếng vang "xong!"
fi

Khi tôi chạy tập lệnh này, việc gắn, sao chép tệp và đếm Không đồng bộ; chúng không được thực hiện theo đúng thứ tự. Umounting nói 'thiết bị đang bận' một vài lần.

Sau khi kịch bản kết thúc, tôi cần làm số lượng lệnh nhiều lần để vượt qua tất cả (mặc dù đó là cùng một điểm gắn kết?).

Tôi nghĩ đây được gọi là điều kiện của cuộc đua. Làm thế nào để khắc phục?

Soren A avatar
lá cờ mx
Điều này có thể xảy ra vì vẫn còn IO đối với hình ảnh trong khi bộ đệm đang bị cạn kiệt. Thử thêm `sync; sync` ngay trước dòng có `sudo umount /media/floppy`.. điều này sẽ yêu cầu xóa dữ liệu chưa được ghi - và đợi nó xảy ra.
Logan Lee avatar
lá cờ dk
@SorenA thx đã sửa nó!
Soren A avatar
lá cờ mx
Tuyệt vời, tôi đã thêm nó như một câu trả lời. Hãy chấp nhận câu trả lời :-)
Điểm:2
lá cờ mx

Vấn đề có thể là, mặc dù quá trình sao chép đã kết thúc, vẫn có IO đang diễn ra từ bộ đệm đến hình ảnh được gắn kết.

cộng đồng bộ hóa; đồng bộ hóa ngay trước dòng với Sudo umount /media/đĩa mềm.. điều này sẽ yêu cầu xóa dữ liệu chưa được ghi - và đợi nó xảy ra.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.