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

UNIX下两个进程对一个文件操作

    来源: 互联网  发布时间:2014-12-15

    本文导语:  一个进程对文件写,一个对文件读(先写后读),未写完就开始读和写完再读 其读的结果有区别吗 已知一个文件,可以知道是否有对此文件进行了打开操作的进程吗 求救! | 这种问题的...

一个进程对文件写,一个对文件读(先写后读),未写完就开始读和写完再读 其读的结果有区别吗

已知一个文件,可以知道是否有对此文件进行了打开操作的进程吗


求救!

|
这种问题的处理应该采用标准的做法!利用文件的上锁机制!

粒度较粗,文件级.
在写文件的时候应该使用排他锁,这样文件是不可被读的,读文件的时候,文件上共享锁,这个时候文件可读不可写.

更好一点的方式是采用纪录上锁.flock,上锁也有读和写的区别。

你的那种做法,不出错误才叫做怪呢!

Does a good farmer neglect a crop he has planted?
Does a good teacher overlook even the most humble student?
Does a good father allow a single child to starve?
Does a good programmer refuse to maintain his code?
              -- Geoffrey James, "The Tao of Programming"



|
用进程间通信,信号量、消息、管道、socket都行,写进程写完数据后向杜进程发送消息,读进程受到消息后在读,多完在回应写进程,写进程再继续写

|
读的结果会有区别,但我没试过。(在写程序时我会绕过这种情况)

查了基本资料,没找到关于一个文件是否打开的检测命令。(stat, fstat, fcntl,好像不行)。你用fcntl对打开的文件上锁,一个上锁的文件再打开时出错,可以试一试。

如果是一个写,一个读的 流模式(不rewind 或 lseek),用管道,命名管道更好些,正如 blh(老猫) 所讲。

    
 
 

您可能感兴趣的文章:

  • 如何AIX UNIX 主机在进程中通过C编程获取进程名
  • unix进程问题,为什么关了控制界面进程结束了
  • 小妹请教各位大哥,在unix下,如何显示进程,和kill掉进程?
  • unix下用进程名杀进程 报错
  • 用Delphi或VC怎么向unix发送命令来检测进程甚至能够控制进程?
  • unix中有关父进程和子进程的问题
  • 在unix下,后台trf001同时并发了很多进程,请用一条命令,杀掉所有trf001并发的进程
  • 在unix下做webserver,使用多进程?多线程?
  • 发一个关于UNIX进程的帖子
  • unix下异步进程的问题
  • 求救!!!Tru64 Unix如何列出及kill掉后台进程?
  • 在UNIX下怎么做一个判断一个进程是否关闭?
  • Unix 进程 自动 终止的原因
  • Unix下进程间通信有那些比较常用的方法,谁有经验?高分奉送!
  • 请问WINDOWS 和LINUX/UNIX 的进程、线程的区别
  • UNIX进程包括那三个部分?
  • unix 进程杀不掉怎么办?
  • unix 进程状态问题
  • 大讨论:UNIX里“进程通信”和“流”的概念!!!
  • linux/unix里的进程互斥问题 ,有关lockf()函数!
  • 请问:我的机器上安装了Unix和Windows 2000两个系统,如果我要重装Unix该怎么办?
  • 如何在40G的硬盘上安装两个系统:UNIX 和 WINXP
  • unix服务器与window98通过两个modem拨号互联的问题?
  • 两个很菜的UNIX问题!
  • 问两个UNIX基础问题
  • 连接两个.o文件报错,麻烦帮看下,unix平台
  • SCO Unix5下如何装网卡?如何一块网卡配两个IP
  • Unix下如何在两个进程之间共享一块大内存??????
  • unix网络编程问题,ftp取文件时网断了,为什么两个端口还是established?
  • unix shell中如何判断两个小数的大小
  • 如何在unix下装两个tomcat?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • windows操作系统做服务器,客户端是unix操作系统,如何配置unix才能上网
  • Unix History-UNIX 操作系统发展史
  • 我是菜鸟,听说去银行工作最好精通unix,可我现在学的是基于win2000的《现代操作系统》请问对以后学unix帮助大吗?
  • 请问unix 操作系统是窗口界面还是文字界面的?
  • 新学者,各位不要吐血:哪儿有Unix的操作系统安装文件,我没有它的概念,我想学习之。Unix好神秘呀!
  • UNIX操作系统版本6是什么呀!
  • 请问没有UNIX操作系统,怎么学习UNIX?
  • unix操作系统教程那本比较好。
  • unix下用哪个命令操作串口
  • 类UNIX操作系统 Xinu
  • Unix操作系统哪里有下栽!
  • 如何修复被破坏的UNIX操作系统
  • 求介绍一本学习UNIX操作系统的书
  • 计算器上的类Unix操作系统 Punix
  • 关于unix操作系统的三个试题,谁能帮忙解答?
  • Unix操作系统内核 Fiwix
  • 朋友请来研究unix操作系统源码
  • 求unix简单操作命令教程?
  • HP-UX 11.0 采用的是unix操作系统吗?
  • 高分相送,关于UNIX与WINDOW操作系统的问题,急!!!!!
  • java命名空间java.util.regex类pattern的类成员方法: unix_lines定义及介绍
  • 刚刚接触Unix系统和Unix编程。急需Unix下多线程程序设计和网络Socket程序设计方面的资料。
  • unix/Linux下c++ boost thread库读写锁介绍
  • 关于UNIX的历史 : 1973年,K.Thompson和D.M.ritchie,用C改写UNIX。那么,在此之前,UNIX是用什么写的?
  • php将标准字符串格式时间转换成unix时间戳_strtotime
  • 没有unix系统我如何学习unix
  • php将unix时间戳转换成字符串时间函数(date)
  • unix盘哪里有下载的??哪里有比较好的unix论坛??万分感谢!!!!!!!!!
  • unix/Linux下c/c++ pthread库读写锁函数介绍
  • 急!装完unix5.06,再装win2000。重启后不能进unix.
  • UNIX特急!!!digital unix问题,请专家快来!!!


  • 站内导航:


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

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

    浙ICP备11055608号-3