1.Shell中使用flock命令实现进程同步

(
    flock 300
   
    # 在这里插入需要加锁的程序段
    flock -u 300
)300<>/home/aaa/aaa.lck

备注:上面的语法格式

(shell program)fd_number<>filepath

的意义是将文件filepath打开并关联到文件描述符fd_number,本例中是将文件/home/aaa/aaa.lck打开并关联到文件描述符300;当然,也可以使用exec命令来打开文件并关联文件描述符。
参见:http://www.chineseinla.com/f/page_viewtopic/t_9679.html

2.C/C++程序中使用flock函数实现进程同步

int fd = open("/home/aaa/test.lck",O_RDWR|O_CREAT,0666);
flock(fd,LOCK_EX);

// ... 需要加锁的程序段
flock(fd,LOCK_UN);
close(fd);

 


本文链接地址: *nix文件锁的基本应用(C/Shell中的进程同步)
http://qingfengju.com/index.asp?id=335

分类:Linux 查看次数:3132 发布时间:2013-7-15 16:40:40