当前位置:  技术问答>linux和unix

对mkstemp和fsync的疑惑,请大虾江湖救急

    来源: 互联网  发布时间:2015-11-21

    本文导语:  我在看书的时候遇到下面两个问题: Q1: 书上对命令fsync的地解释为:系统调用fsync将所有已写入文件描述符fd的数据真正地写到磁盘, 或其他下层设备上。    这里“真正地写到磁盘或其他下层设备上”是什么意思呢...

我在看书的时候遇到下面两个问题:
Q1:
书上对命令fsync的地解释为:系统调用fsync将所有已写入文件描述符fd的数据真正地写到磁盘,
或其他下层设备上。
  
这里“真正地写到磁盘或其他下层设备上”是什么意思呢??直接write后信息不就已经写到文件中 
去了嘛,那fsync的作用是什么呢??

Q2:
对mktemp的解释为:mkstemp()用来建立唯一的临时文件。参数template 所指的文件名称字符串中最后六个字符必须是XXXXXX。Mkstemp()会以可读写模式和0600 权限来打开该文件,如果该文件不存在则会建立该文件。

“mkstemp()用来建立唯一的临时文件”这里为什么说是唯一呢?而且既然是临时文件,那时在程序结束的时候系统会自动删除地它吗??这个命令是在需要临时的中间文件帮助操作的时候会用到吗,如果不是,麻烦大虾帮举两个应用这个命令的例子。

小弟纯属自学,常苦于无人探讨,可能问题很菜,还请见谅,请大虾给指教以下。

|
1、为了提高性能,write不会立刻写盘,而是保存在缓存里,在适当的时候才会真正写盘,fsync就是强制内核将缓存中的数据立刻写盘。
2、mkstemp会将XXXXXX替换为编号,保证不会与已有的文件重复,所以称为唯一。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3