首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从另一个进程通过并行处理将文件复制或移动到目录中

问从另一个进程通过并行处理将文件复制或移动到目录中
EN

Stack Overflow用户
提问于 2020-01-22 17:30:34
回答 1查看 154关注 0票数 0

我在AIX上运行两个进程。进程1生成多个文件,进程2从备份目录中的所有文件进行备份。

进程1会将文件复制或移动到备份目录中。由于进程2始终在后台运行,因此存在启动文件备份的风险,该文件仍处于复制或移动过程中,因此不完整。我怎样才能避免这个问题?

EN

回答 1

Stack Overflow用户

发布于 2020-01-22 17:44:56

进程1应该在另一个目录(在同一磁盘上)中创建文件;当创建一个文件时,将其移动到最终目录中。Move是一个原子操作,所以process2只能找到完整的文件。

编辑:在AIX上,/usr/bin/istat有助于确保两个目录(或文件)位于同一磁盘/分区/设备上,例如

代码语言:javascript
复制
for Dir in /home /home/zsiga /tmp;
    do /usr/bin/istat "$Dir" | grep device;
done

结果:

代码语言:javascript
复制
Inode  2 on device 10/8 Directory
Inode 33 on device 10/8 Directory
Inode  2 on device 10/7 Directory

前两个位于相同的磁盘/分区/设备(10/8)上;最后一个位于另一个设备(10/7)上

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59856442

复制
相关文章

相似问题

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