首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确保进程只在文件整体可用时才读取文件?

如何确保进程只在文件整体可用时才读取文件?
EN

Stack Overflow用户
提问于 2014-05-06 10:50:33
回答 1查看 40关注 0票数 0

我有以下要求。

一个进程( process -1)从DB读取文件,获取文件并将检索到的文件放置在位置/process1/data中;最后将文件放在/application/shared_data中。

第二个进程( process -2)将检查共享目录/application/ shared _data中的数据。

这两个过程相互独立,连续运行。

当Process-1放置一个文件时,比如从/process1/data到/application/shared_data的1.zip;同时process-2尝试读取文件本身的可能性;那么我们如何防止这种情况。

也就是说,process-2应该读取给定的文件,只有当process-1已经将文件完全放置在共享目录中时。

任何帮助都很感激。

你好,Vipin

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-06 10:54:31

要么让这两个进程互相发送消息,要么先将文件放在临时名称下(在目标目录中),然后将其移动到其最终位置。POSIX保证移动文件是原子操作。

例如。

代码语言:javascript
复制
temp=$(mktemp $(dirname $target).XXXXXX)
cp "$source" "$temp"
mv "$temp" "$target"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23492647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档