通过文件锁实现,程序开始运行时,先判断文件是否存在,若存在则表明该程序已经在运行了,如果不存在就用open函数创建该文件,程序退出时关闭文件并删除文件
2011-10-31 17:07
1236 查看
通过文件锁实现,程序开始运行时,先判断文件是否存在,若存在则表明该程序已经在运行了,如果不存在就用open函数创建该文件,程序退出时关闭文件并删除文件。 #include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <errno.h> int main(int argc,char **argv) { int fd,n; if((fd = open("/home/tanyouliang/shujujiegou/ceshi.c",O_EXCL | O_CREAT,0777)) < 0) { if(errno = EEXIST) { printf("the program is running!\n"); return -1; } else { perror("open"); return -1; } } flock(fd,LOCK_EX); printf("input n:\n"); scanf("%d",&n); flock(fd,LOCK_UN); close(fd); execlp("rm","rm","-rf","/home/tanyouliang/shujujiegou/ceshi.c",(char *)0); return 0; }
相关文章推荐
- 【转】通过文件锁实现,程序开始运行时,先判断文件是否存在,若存在则表明该程序已经在运行了,如果不存在就用open函数创建该文件,程序退出时关闭文件并删除文件
- 通过文件锁实现,程序开始运行时,先判断文件是否存在,若存在则表明该程序已经在运行了,如果不存在就用open函数创建该文件,程序退出时关闭文件并删除文件。
- winform中判断文件夹以及文件是否存在,文件夹不存在进行创建,文件存在进行删除
- MySQL存储过程----创建索引前,先判断索引是否已经存在,如果存在,则不添加,如果不存在,添加
- 原生js实现增加(addclass),删除(removeclass),判断是否存在(hasclass),如果存在删除,如果不存在添加(toggleclass)和获取类名(getbyclass)的方法
- MySQL存储过程----创建索引前,先判断索引是否已经存在,如果存在,则不添加,如果不存在,添加
- 判断本地系统目录下是否存在XML文件,如果不存在就创建一个XMl文件,若存在就在里面执行添加数据
- ASP.NET判断物理路径下是否存在某文件,如果不存在则创建
- 判断本地系统目录下是否存在XML文件,如果不存在就创建一个XMl文件,若存在就在里面执行添加数据
- mysql判断表中字段或者索引是否存在,如果不存在则创建
- 如何判断一个已知的表中是否存在某个字段,如果不存在就创建它.
- oracle创建表之前判断表是否存在,如果存在则删除已有表
- oracle创建表之前判断表是否存在,如果存在则删除已有表
- C# 通过HttpWebRequest 创建连接获取文件大小 判断Http类型的文件是否存在
- BAT循环判断进程是否存在 bat 如果存在则继续判断 不存在则重新运行
- oponcv运行时无法找到、打开PDB文件(cannot find or open pdb file),程序已经退出,返回值-1(0xffffff)
- C#判断文件和文件夹是否存在 不存在则创建
- python 判断目录是否存在,如果不存在则创建
- ASP.NET对文件的操作,创建文件,判断文件是否存在,判断文件是否存在删除文件夹
- python判断文件是否存在,不存在就创建一个