当前位置: 技术问答>linux和unix
tar 的目标文件和源文件均在磁盘上,执行tar之后,用access判断目标文件是否存在,不一定会成功。
来源: 互联网 发布时间:2017-01-13
本文导语: 碰到一个问题,不是必现,偶然会出现,但是一旦出现,经常会出现,一旦不出现,长时间不出现。 tar 的目标文件和源文件均在flash中,当执行 tar czf test.tgz /f/brd/test_*.xml.gz; 然后调用 access("/f/brd/t...
碰到一个问题,不是必现,偶然会出现,但是一旦出现,经常会出现,一旦不出现,长时间不出现。
tar 的目标文件和源文件均在flash中,当执行 tar czf test.tgz /f/brd/test_*.xml.gz; 然后调用 access("/f/brd/test.tgz", F_OK ) 函数判断磁盘上该文件是否存在,经常会返回该文件不存在;当把 tar 的目标文件改为在内存中,这个问题就不经常出现;对磁盘中文件进行读写操作,会先进行cache;当把页高速缓存写满后,会把脏页回写到磁盘。tar 命令也是如此吗,先缓存,后写到外设。
tar 的目标文件和源文件均在flash中,当执行 tar czf test.tgz /f/brd/test_*.xml.gz; 然后调用 access("/f/brd/test.tgz", F_OK ) 函数判断磁盘上该文件是否存在,经常会返回该文件不存在;当把 tar 的目标文件改为在内存中,这个问题就不经常出现;对磁盘中文件进行读写操作,会先进行cache;当把页高速缓存写满后,会把脏页回写到磁盘。tar 命令也是如此吗,先缓存,后写到外设。
|
估计是缓存的原因
tar后sync一下。
tar后sync一下。
|
可能是驱动程序,设备I/O的问题了。