我正在将文件复制到闪存驱动器,然后对这些文件执行一些操作。我注意到在运行dd命令之后,闪存驱动器仍然在闪烁,并且并不是所有的文件都在设备上。
有人知道如何运行一个简单的循环(在脚本中)来等待dd进程完成吗?我已经用谷歌搜索了大约2-3个小时,试图弄清楚这一点,如果可能的话,这超出了我的能力范围。
提前感谢!
发布于 2012-02-22 03:37:41
您最有可能看到的是操作系统正在缓存写入。如果您真的想确保所有内容都写入闪存驱动器,以便可以安全地移除,则需要卸载闪存驱动器。
发布于 2012-02-22 03:38:35
尝试使用sync命令:
sync将缓冲在内存中的所有数据写出到磁盘。这可以包括(但不限于)修改的超级块、修改的信息节点以及延迟的读取和写入。这必须由内核实现;sync程序只执行sync系统调用。
内核将数据保存在内存中,以避免进行(相对较慢的)磁盘读写。这会提高性能,但如果计算机崩溃,可能会导致数据丢失或文件系统损坏。sync命令确保内存中的所有内容都写入磁盘。
https://stackoverflow.com/questions/9383932
复制相似问题