1 文件锁 文件锁,也被成为记录锁,可以控制不同进程对于同一个文件的同步访问,linux底下 实现的机制有flock(),该调用是对整个文件进行加锁。还有lockf以及fcntl,其中lockf是对 fcntl的封装,可以实现对文件当中的某个部分进行加锁,flock和lockf都是建议锁而非强制 锁 ...
分类:
系统相关 时间:
2020-09-17 23:17:43
阅读次数:
39
1、文件夹目录 /etc 系统重要配置文件,以及常用服务器文件 /var 存放系统引导启动时产生的可变文件,文件通常动态更改的,例如:缓存目录,日志文件 /run 系统启动后,运行的程序产生的运行时的数据,包括进程的 pid文件,锁文件等 /home 普通用户的主目录,普通用户的家目录默认为 /ho ...
分类:
系统相关 时间:
2020-09-17 20:27:29
阅读次数:
46
在MySQL5.1之后InnoDB成为了默认的存储引擎,InnoDB和MyISAM的区别: 事务 外键 磁盘中的文件 锁 主键 全文索引 InnoDB 支持事务 支持外键 .frm(表定义) .ibd(索引) 支持表、行(默认)级锁 必须(聚集索引) 5.7版本之前不支持 MyISAM 不支持事务 ...
分类:
数据库 时间:
2020-07-10 23:53:35
阅读次数:
84
当有多个进程要访问同一个文件的时候,为了防止多进程访问导致的不一致,我们就要考虑进程间的同步问题了。 举例说明:在嵌入式编程中经常会遇到写配置文件的问题,这个时候由于多进程操作就需要跟配置文件加写锁操作。 fcntl是一个非常强大的函数,在这里我们可以使用它来给文件的某一个部分上锁。先来看一下它的声 ...
分类:
其他好文 时间:
2020-06-06 18:14:33
阅读次数:
71
这两天在项目中用大强度大频率的方法测试时遇到sqlite报database is locked的问题,分析下来原因是sqlite对数据库做修改操作时会做(文件)锁使得其它进程同一时间使用时会报该错误(也就是SQLITE_BUSY),但如果仅是多进程或多线程查询sqlite是支持的。(也有可能是做sq ...
分类:
数据库 时间:
2020-05-31 14:34:51
阅读次数:
83
#!/bin/bash # FILENAME:filelock # 默认重试次数 retries="10" # 默认操作 action="lock" # 用于锁文件的空命令 nullcmd="'which true'" # 设置选项 while getopts "lur:" opt; do case ...
分类:
其他好文 时间:
2020-05-29 23:01:51
阅读次数:
89
最近在学习Linux命令,结果发现htop命令无法使用,于是决定安装,但是发现安装时报出如下的错误: 在经过一番搜索发现是因为文件锁定了,只需要删除锁定文件即可。 方法一:删除锁定文件 锁定的文件会阻止 Linux 系统中某些文件或者数据的访问,这个概念也存在于 Windows 或者其他的操作系统中 ...
分类:
系统相关 时间:
2020-05-19 14:37:26
阅读次数:
70
<?php public function task() { $list = M('SysTask')->where(['status' => ['neq',3]])->select(); // 通过文件锁住操作执行完再执行下一个 $fp = fopen("lock.txt", "w+"); if ...
分类:
其他好文 时间:
2020-05-11 01:28:41
阅读次数:
77
文件的打开和关闭 主要是两个函数,fopen和fclose。 返回的是资源类型的数据 mode 打开模式:指的是文件打开是以写入、读取、执行等等方式 r:(只读模式)以只读方式打开,文件指针指向文件的开头部分 r+:(读写模式)以读写方式打开,文件指针指向文件的开头 w:(只写模式)以写方式打开,指 ...
分类:
Web程序 时间:
2020-04-25 19:23:10
阅读次数:
84
悲观锁:指悲观的认为数据存在脏读。超卖的场景。就会把大量访问锁死。悲观锁 分为 文件锁 和 数据表所 数据表锁又分为 表锁和行锁 ,表锁 是锁着这个表 只让只让他访问,其他都访问不了。而行锁 是针对某一条访问数据,进行的锁定。假如 同时有一万个用户来访问这个商品,但是他只有十个商品数量,此时,如果都 ...
分类:
数据库 时间:
2020-03-22 18:12:09
阅读次数:
107