open带上o_create和o_execl,如果打开文件时,文件存在则返回错误。
这种做法比较简单。
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
int main(void)
{
int fd;
while((fd = open("/tmp/hello.lock", o_creat | o_excl)) < 0){
printf("file exist\n");
sleep(1);
continue;
}
close(fd);
sleep(6);
unlink("/tmp/hello.lock");
}
转载于:https://blog.51cto.com/jiangjqian/477383