当前位置: 技术问答>linux和unix
程序中如何防止文件操作冲突?
来源: 互联网 发布时间:2015-04-09
本文导语: UNIX下: 1、如何确保进程在处理文件时“独占”这个文件,主要是防止其它进程写该文件? 2、如何确保进程不会去读写其它进程正在写操作的文件? 3、ftpd、mv、cp等命令、服务在写文件时是否会对文件加锁? 最好...
UNIX下:
1、如何确保进程在处理文件时“独占”这个文件,主要是防止其它进程写该文件?
2、如何确保进程不会去读写其它进程正在写操作的文件?
3、ftpd、mv、cp等命令、服务在写文件时是否会对文件加锁?
最好给出C代码例子,谢谢!
1、如何确保进程在处理文件时“独占”这个文件,主要是防止其它进程写该文件?
2、如何确保进程不会去读写其它进程正在写操作的文件?
3、ftpd、mv、cp等命令、服务在写文件时是否会对文件加锁?
最好给出C代码例子,谢谢!
|
你可以利用文件锁来进行对文件的读写
可以看看《unix环境高级编程》
可以看看《unix环境高级编程》
|
1、如何确保进程在处理文件时“独占”这个文件,主要是防止其它进程写该文件?
2、如何确保进程不会去读写其它进程正在写操作的文件?
答:Unix在处理这种Critical Sections情况时,要用到锁的机制。像常见的读写锁/mutux/sempaphores等来处理。
如果相关的进程遵循规则(都是我们自己写的程序)那么可以通过以上机制来保证避免对资源的同时处理。如果不遵循,没有什么好的方法。
2、如何确保进程不会去读写其它进程正在写操作的文件?
答:Unix在处理这种Critical Sections情况时,要用到锁的机制。像常见的读写锁/mutux/sempaphores等来处理。
如果相关的进程遵循规则(都是我们自己写的程序)那么可以通过以上机制来保证避免对资源的同时处理。如果不遵循,没有什么好的方法。