Linux文件锁的使用

话说今天这个事情还比较郁闷,我说怎么文件老锁不住,害得我google了一上午,结果是给文件加锁后立刻把文件关闭了,真是自作孽。

代码如下:

//独占写锁,成功则返回0,失败复数,传入文件描述符 int lockfile(int fd) { struct flock fl; fl.l_type = F_WRLCK; fl.l_start = 0; fl.l_whence = SEEK_SET; fl.l_len = 0; return (fcntl(fd, F_SETLK, &fl)); } //写pid文件并加锁,成功返回0,失败则会退出或者返回-2,传参为文件名字符串 int write_pid(char *filename) { int fd; char buf[16]; fd = open(filename, O_RDWR|O_CREAT, S_IWUSR|S_IRUSR|S_IRGRP|S_IROTH); if (fd <0) { //printf exit (-1); } if (lockfile(fd) < 0 ) { close(fd); return -2; } ftruncate(fd, 0); sprintf(buf, "%d", (int)getpid()); write(fd, buf, strlen(buf)+1); //close(fd); 该死的我怎么会在这里close() return 0; }

 

晚上听了下zoom.quiet大妈的python讲座,主要讲python都可以用来干什么,有点跃跃欲试了。

回来后给小妹写了个MASM语法的冒泡排序,其实都是抄人家的,顺便安装了自己08年包装的一个汇编开发环境,链接的时候居然还出现入口点错误,默认是mainCRTstart,非要我指定到main函数上去,微软真是的,包装的人头大。

明天周六调休,继续上班,加油啦!

你可能感兴趣的:(linux,struct,python,汇编,Google,微软)