Không, bạn không cần phải chạy sync
trước umount
. umount
sẽ hoàn thành tất cả các ghi đang chờ xử lý trước khi nó thực sự ngắt kết nối hệ thống tập tin. Nó cũng sẽ từ chối ngắt kết nối nếu một số tiến trình vẫn đang sử dụng hệ thống tập tin, ví dụ như thư mục làm việc hiện tại.
Chỉnh sửa : Unmounting chủ yếu được xử lý trong fs/namespace.c
. Bạn sẽ không tìm thấy bất kỳ cuộc gọi rõ ràng nào sync
ở đó, nhưng bạn sẽ thấy các bình luận dọc theo dòng chữ "đánh dấu điểm gắn kết này để hủy kết nối, từ chối mọi thao tác tiếp theo trên đó và nếu tất cả các hoạt động được thực hiện, hãy ngắt kết nối". Bạn cũng có thể thấy kiểm tra sử dụng rõ ràng.
Bạn có thể dễ dàng tự kiểm tra xem có umount
thực sự hoàn thành tất cả các hoạt động đang chờ xử lý không: Gắn một số thanh USB chậm, sao chép một tệp lớn vào đó và gọi trực tiếp umount
sau cp
. Sẽ mất vài giây trước khi bạn thấy một dấu nhắc mới và nếu bạn chạy, dstat
vv trong một cửa sổ khác, bạn sẽ thấy các thao tác ghi vẫn đang diễn ra. Đó chính xác là hành vi giống như bạn đã gõ sync
.