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

文件加锁问题(新手提问)

    来源: 互联网  发布时间:2016-07-20

    本文导语:  一个简单的小程序,对加锁后的文件进行读操作,另开一个终端,向文件追加内容:echo hahahahh >> file.txt 为什么追加操作能成功并且追加后的内容能够输出??代码如下:#include  #include  #include  #include  #include  int...

一个简单的小程序,对加锁后的文件进行读操作,另开一个终端,向文件追加内容:echo hahahahh >> file.txt
为什么追加操作能成功并且追加后的内容能够输出??代码如下:
#include 
#include 
#include 
#include 
#include 
int main()
{
FILE *fp = NULL;
char s[1024]={0};

fp = fopen("file2.c","r");
flock(fp,LOCK_SH);
while(!feof(fp))
{
fgets(s,1024,fp);
printf("%sn",s);
memset(s,0,1024);
sleep(1);
}
flock(fp,LOCK_UN);
return 0;
}

|
如上楼,你加的是建议性锁,所以各方需要协同.
加强制性锁才能不让其它进程写入.

|
因为你的锁在这里只起到一个标志的作用,而你追加内容没有去判断这个标志,所以当然可以写啊。
http://www.chinaeda.cn/show.aspx?id=15295&cid=46

|
锁机制主要是为了保护某一临界区,以避免多个应用同时对其进行进行操作。

要保证数据统一的话,两个操作都需要加锁。

并不是加锁之后其他应用就不能对该文件进行读写了。

    
 
 

您可能感兴趣的文章:

  • linux新手提问, .sh文件的写法提问。 从.bat文件转为.sh文件。
  • [提问]Linux下如何把多个.a文件编译一个.so文件,或者把多个.so文件编译成一个.so文件
  • 高分提问:为何在局域网内可以访问linux机器,然而不能在其文件夹内写入文件?
  • 菜鸟提问,Redhat下如何挂载镜像文件?
  • 提问,unix下C语言如何调用xml文件,不够再加分
  • 新手提问:运行一个可执行文件的问题?
  • 提问:求pdf文件格式,linux下的pdf阅读器源码,100分相送!!!!
  • 【菜鸟提问】我想查看一个文件夹下每一个子文件夹的大小用什么命令?谢谢~
  • 提问:为什么我打包的jar文件无法运行?
  • 菜鸟提问:如何生成可执行文件
  • 菜鸟提问:如何用java.exe去运行不同路径下的class文件?
  • 新手提问:怎样把自己本地机子上的一个文件夹传到linux下,然后安装??
  • 菜鸟提问:文件执行权限和方式的疑惑?
  • 高分提问关于Applet下载一个文件的问题。
  • 再次提问---如何得到一个目录下按last modify时间排序的文件名列表?
  • linux——新手提问(关于文件内容替换)
  • 新手问题:Java源码能编译成可执行文件(exe文件)吗? 
  • 新手请教:/usr/include/这个目录怎么才三个文件夹和一个文件?
  • 删除文件问题,新手,希望高人指导
  • 新手初问:头文件为什么能够找到?
  • 【新手请教】关于linux下文件格式?
  • 新手,请教关于文件编辑问题...
  • 请教怎么用Servlet作文件上传?最好能有例子,我是新手。
  • 新手求助:修改profile文件后,重启登录不了了?
  • 新手:unix下建立文件的命令?
  • 我是新手,请教LINUX下如何访问光驱里的文件。
  • 新手:Linux下使用第三方C库(openssl),是调用.so文件还是直接调用.h文件?
  • 新手问题:安装redhat应执行光盘disk1里的哪个文件?
  • 新手请教:我的声卡所附光盘提供了下面的这些文件,我怎么安装驱动?
  • 新手求救(我得系统怎么没有/etc/inetd.conf这个文件?)
  • 新手,gcc如何链接自己编的库文件呀?万分感激.
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 菜问题:请问如何根据文件中的一段内容查找文件路径和文件名称,在线等候
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • shell脚本剪切文件文件,并生成新文件的问题
  • 文件编码及UTF-8、BOM、0XFEFF相关问题
  • GUI问题:如何使用文件选择对话框保存文本文件,图像文件??
  • Java读写包括中文的txt文件时不同编码格式问题解决
  • 不解,上传文件后压缩文件的中文文件名问题,转码也不管用?
  • cocos2d中CCSpriteFrameCache文件同时存在两个plist的问题解决
  • ext3文件系统问题:文件在硬盘上的物理位置,一组文件要据此排序。
  • jsp文件访问jar文件,路径问题。
  • Linux www服务 文件夹内文件数量问题
  • 一个奇怪的问题:Red Hat 7.2下用mv复制-粘贴文件变成了剪切-粘贴文件,用mv -b也不行。而两周前同样的机器却没有出现这种问题。alias中m
  • 请问unix下修改文件和文件夹读写权限的问题
  • 请教高手一个简单问题:给定一个文件名,如何去查找该文件正在被几个程序使用,并怎么样才可以切断这个文件与正在打开该文件的程序之间的
  • 关于在只读文件系统中,更新文件的问题
  • 高手请进:linux下使用.o文件,makefile文件的问题
  • 2个问题 急-共享文件夹和安装文件
  • 简单的问题,如何用命令 批量 删除某一目录下的 .o 文件?如何批量把只读文件改成可写文件?
  • 小问题, Unix 如何建立一个文件 ,unix 文件有后缀名吗
  • 文件夹或者文件权限问题?
  • C++ I/O 成员 eof():如果处于文件结尾处则返回true
  • Shell脚本如何递归现实一个文件夹中的文件(文件夹中含有文件夹)
  • WinDows8最新版文件夹加密
  • 求命令:什么命令可以把文件夹下所有的文件按修改时间先后排出来,包括子文件夹里的文件。
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • 请问:proc中的头文件中能包含头文件吗?(感觉如果头文件中包含头文件的话,在链接时就会有错误啊)
  • python异常信息堆栈输出到日志文件
  • 我要实现当进程打开文件时,根据文件名判断是否符合要求,符合后处理文件,再把文件返回给进程,怎么实现啊
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • vi 中编辑两个文件,怎样从其中一个文件拷一段内容到另一个文件中。(同时打开两个文件)


  • 站内导航:


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

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

    浙ICP备11055608号-3