当程序打开文件描述符时,是否可以防止文件删除/重命名。我用open()打开文件,然后尝试用fcntl()锁定它,但我仍然可以重命名或删除文件。阅读fcntl文档似乎是不可能的。
FD = open(file_name, O_WRONLY | O_CREAT | O_EXCL, 0600);
struct flock exclusiveLock;
exclusiveLock.l_type=F_WRLCK;
exclusiveLock.l_whence=SEEK_SET;
exclusiveLock.l_len=exclusiveLock.l_start=0;
exclusiveLock.l_pid=0;
lockResult=fcntl(FD,F_SETLK,&exclusiveLock);