linux的flock命令(文件锁)

Posted FutureDrame

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux的flock命令(文件锁)相关的知识,希望对你有一定的参考价值。

mysql,如果多个请求同时,请求操作一个表,一个存,一个读,就会造成脏读.所以有了事务,有了锁表

linux在多个进程同时操作同一份文件的时候,很容易导致文件混乱,这时候就需要锁,来保证文件的完成性.

flock主要三种操作类型:
     lock_sh,常被用作读共享锁;
     LOCK_EX,只能被一个进行使用,常被用作写锁;
     LOCK_UN,释放锁;
 public function logResult($word=‘‘) {
        $fp = fopen("log.txt","a");
        flock($fp, LOCK_EX) ;//进程会被阻塞,直到锁被释放掉
        fwrite($fp,"执行日期:".strftime("%Y%m%d%H%M%S",time())."\n".$word."\n");
        flock($fp, LOCK_UN);
        fclose($fp);
    }

 

以上是关于linux的flock命令(文件锁)的主要内容,如果未能解决你的问题,请参考以下文章

linux使用flock解决crontab任务冲突

Linux文件锁flock

Linux文件锁学习-flock, lockf, fcntl

Linux 下三种文件锁 —— fcntl/lockf、flock

Linux系列:让一个脚本同时只能运行一个(flock锁处理)

php原子操作,文件锁flock,数据库事务