Debian

同步命令實際上同步了什麼?

  • September 12, 2018

當我sync作為普通使用者進行操作時,這是否會刷新屬於其他使用者(包括 root 或我自己的使用者)的所有緩衝區?man不提供此資訊。

我特別問的是 Debian 9,但歡迎在 Linux 和 Unix 上提供更一般的答案。

sync命令使用sync系統呼叫。

sync系統呼叫手冊說:

sync() 導致對文件系統元數據和記憶體文件數據的所有掛起修改寫入底層文件系統。

因此同步將刷新所有緩衝區。術語“屬於使用者”不適用於緩衝區,緩衝區屬於文件和文件系統元數據,而不是使用者。多個使用者修改同一個文件是可能的,文件系統和緩衝區子系統跟踪特定使用者的更改是沒有意義的。

引用自:https://unix.stackexchange.com/questions/468600