2012-02-21 106 views
1

标题几乎钉它,即时通讯将文件复制到闪存驱动器,然后做一些事情,这些文件。那么我注意到,在运行dd命令后,闪存驱动器仍在闪烁,并且并非所有文件都在设备上。如何在继续我的脚本之前等待dd命令完成复制?

有谁知道如何也许运行(脚本)一个简单的循环,以等待dd进程来完成?我一直在搜寻大约2-3个小时,试图找出它,如果它甚至有可能,我已经超越了我。

在此先感谢!

回答

2

最有可能你所看到的操作系统缓存写入。如果您确实想确保将所有内容写入闪存驱动器以便安全移除,则需要卸载它。

+0

那么你是说umount命令会等待缓存写入完成吗? – 2012-02-21 19:39:12

+0

是的,只有写完所有内容后,umount命令才会返回,包括所有元数据和日志记录信息。 – 2012-02-21 19:42:04

+0

好的,谢谢!为我正在尝试做的事情完美工作! – 2012-02-21 19:49:09

4

尝试sync命令:

sync写入在存储器到磁盘缓冲的任何数据。这可以 包括(但不限于)改性的超级块,改性的inode, 和延迟读取和写入。这必须由内核来实现; 的sync程序做什么,但行使sync系统调用。

内核保存在内存中的数据,以避免做(相对较慢) 磁盘读取和写入。这可以提高性能,但是如果计算机 崩溃,则可能导致数据丢失或文件系统损坏。 sync命令可确保内存中的所有内容都写入磁盘。

相关问题