Câu trả lời:
bạn có thể kết nối lại với tùy chọn đồng bộ hóa và sau đó kết nối lại với async:
mount -o remount,sync /mountpoint
mount -o remount,async /mountpoint
Sử dụng tùy chọn remount sẽ không gây rối với các quy trình sử dụng hệ thống tập tin được kết nối lại.
Có một chức năng tiêu chuẩn để đồng bộ hóa dữ liệu (và siêu dữ liệu) của một tệp : fsync
. Không có lệnh shell tiêu chuẩn hoặc phổ biến để truy cập nó, nhưng bạn có thể sử dụng sync
phương thức của perl trong IO::Handle
:
perl -MIO::File -e 'new IO::File($ARGV[0], "r+")->sync()' filename
Không có chức năng tiêu chuẩn hoặc phổ biến hoặc lệnh shell để đồng bộ hóa chỉ một phân vùng.
Trên các hệ thống Linux gần đây , có syncfs
lệnh gọi hệ thống (được giới thiệu trong kernel 2.6.39 và được hiển thị kể từ glibc 2.14 ). Tôi không nghĩ rằng cuộc gọi hệ thống này được thể hiện trong coreutils hoặc linux-linux.
syncfs
là phần có liên quan nhất.
Nếu bạn có nghĩa là sync
tiện ích xóa dữ liệu trong bộ nhớ vào đĩa, thì câu trả lời là không. Điều này là do thực tế sync
thường được sử dụng trong quy trình tắt máy hoặc khởi động lại, trong đó nên lấy dữ liệu được ghi an toàn vào đĩa và mục tiêu thực sự của hoạt động là bộ nhớ, không phải đĩa và lấy dữ liệu được đệm ra khỏi RAM đến nơi nào đó an toàn. Các đĩa chỉ là nơi dữ liệu kết thúc.