sync − 同步内存与磁盘的数据
sync [−−help] [−−version]
sync 把任何在内存中缓冲的数据写到磁盘上。 这能包括(但不仅限于)修改了的超级块, i 节点,和延迟的读写。这必须由内核执行; sync 除了执行 sync(2) 系统调用外什么都不做.
内核把数据保持在内存里以避免磁盘读写(磁盘相对来说比较慢) 这能改进性能,但如果计算机跨掉,结果就可能是数据丢失, 或者文件系统损坏. sync 保证任把何在内存里的东西写入磁盘.
sync 应该在处理器异常停止前调用 (例如,在因为调试新的内核代码引起内核恐慌 (?可能是灾难发生吧)之前) 一般而言,处理器应该使用 shutdown(8) 或者 reboot(8) 或者 halt(8) 命令来停止, 那会试图,在调用 sync(2) 前让系统处于静止状态. (这些命令有好几种不同的实现, 请参考你的文档,在一些系统上你 不能直接调用 reboot(8) 和 halt(8) )
−−help |
在标准输出上印出用法信息并退出。 |
−−version
在标准输出上印出版本信息并退出。
−− |
结束选项列表 |
变量 LANG, LC_ALL, LC_CTYPE 和 LC_MESSAGES 有通常的意义.
POSIX 1003.2
在 Linux 上, sync 仅保证安排脏数据块进入等待: 实际上在真正写入前要花费一点时间. reboot(8) 和 halt(8) 在调用 sync(2) 之后会睡眠几秒以考虑这些延时.
这份 sync 的描述可以在 fileutils-4.0 包你找到; 其他版本也许有些微的差别. 把修正和新增邮到 aeb AT cwi DOT nl. 程序缺陷邮到 fileutils-bugs AT gnu DOT ai DOT mit DOT edu.
sync(2), halt(8), reboot(8), update(8)
Scorpio <rawk AT chinese DOT com>
2000/11/26
http://cmpp.linuxforum.net