我现在正在Linux下实现文件系统备份和恢复程序。要求是所有操作必须在线进行。
我的问题是,目前程序还没有意识到要恢复的文件状态。 因此,当恢复发生时,其他应用程序可能正在编辑某些文件,在这种情况下,备份可能会覆盖对文件的修改。
我可以提出的一个解决方案是测试文件是否在恢复之前由其他应用程序打开,并将恢复推迟到文件关闭的时间。但是,为了测试文件的打开状态,我想我应该遍历/proc
文件系统,即检查所有正在运行的进程并为每个进程获取一个打开的文件列表,这是时间的累积。
这个问题有更好或更经典的解决方案吗?任何提示都将受到高度赞赏。
谢谢你,最诚挚的问候。
答案 0 :(得分:1)
您可以尝试侦听文件系统更改,看看您是否对此负责。 inotify框架可以帮助您完成此类任务。 inotify是一个userland api。见维基百科...... http://en.wikipedia.org/wiki/Inotify