我们有一个处理文件操作的系统,对于我而言,我必须将文件从一个目录复制或移动到另一个目录。有人能让我知道安全的方法吗?例如:假设在复制或移动执行期间,如果系统重新启动,我如何确保我的操作正常执行。一个示例代码片段将非常有帮助。
答案 0 :(得分:-1)
您可以使用这种方式:
int fd, wd;
fd = inotify_init ();
if (fd < 0)
{
perror ("inotify_init () = ");
}
else
{
std::string filename = "/etc/test";
wd = inotify_add_watch (fd, filename.c_str(), IN_MODIFY);
if (wd < 0)
{
perror ("inotify_add_watch");
}
else
{
char* buffer = new char[1024];
while(true)
{
//first read blocks until the /etc/temp file is modified,
//it returns 16 which is sizeof(struct inotify_event)
printf("first read %d), read( fd, buffer, 1024));
//second read() does not block and read returns 16 again
printf("second read %d), read( fd, buffer, 1024));
}
}