- 博客(216)
- 资源 (54)
- 收藏
- 关注
原创 文件描述符与锁定状态在系统层面的表示
实际上,在父子进程共享文件锁时,锁表项中的锁定进程 ID 只包含创建并持有该锁的原始进程(通常是父进程)的 ID。然而,在锁表项中,锁定进程 ID 仅指向原始创建并持有锁的进程(父进程)的 ID。当子进程继承父进程的文件描述符时,子进程实际上继承了指向同一文件表项的引用,这意味着父子进程共享该锁,而不是每个进程拥有其自己的锁表项。在上面的示意图中,Process A(父进程)和 Process B(子进程)共享同一个文件描述符表项,这意味着它们实际上指向同一个文件表项,而不是内容相同的两个文件表项。
2023-11-22 12:10:14
350
原创 实现脚本单例运行的两种方案
加注:在多进程或跨脚本场景中,简单地判断锁文件是否存在可能导致竞争条件。若多个进程或脚本实例在几乎相同的时间点检查并尝试创建锁文件,这样一来,就可能让多个实例同时获得锁并运行。由于此种情况下的检查和创建锁文件并不是原子性操作(无法保证在一个不可分割的操作中完成),因此可能导致竞争条件的发生。简单地判断锁文件是否存在是一种简单易懂的方法,但可能导致竞争条件、锁未释放等问题,不如。如果文件不存在,就创建一个锁文件,获得锁。综上,简单地判断锁文件是否存在的方案同样可以应用于跨进程和跨脚本场景,但相较于。
2023-11-21 19:13:34
181
原创 如何实现select * exclude column
实现mysql中的insert into B select * exclude from,
2022-10-14 14:17:58
499
原创 分享gawk大神写的库,包括解析csv文件和web参数
awk大神写的csv和http参数解析库,具体网址是http://mcollado.z15.es/xgawk/http://mcollado.z15.es/xgawk/
2022-09-21 15:40:45
162
原创 记一次老版本perforce的迁移历程
对于老版本的perforce迁移,提供了一种可行的方案,而且已经验证过,尽信书不如无书,官方文档也不是万能的,有时候还需要自己想办法
2022-09-13 15:02:32
934
3
原创 bat中for循环嵌套
网上看了很多教程,很少讲分割字符串然后遍历所有列的,现在我实现了这种逻辑。这里需要注意一下,第二层循环的总列表需要在第一层用一个变量承载,不然在第一次二层循环完成之后,这个队列就会清空。终于实现了for循环嵌套,特此记录。
2022-09-07 10:04:55
5765
原创 python实现从excel导出csv最完整版本,openpyxl,pandas,xlrd全家桶
excel导出csv,实现了多种方式导出,同事还实现了多进程版本,效率更高
2022-08-25 20:42:25
1661
原创 python xlrd,pandas,openpyxl实现excel导出csv,支持xls,xlsm, xlsx
将excel导出为csv,跨平台可用
2022-08-21 23:38:49
1051
原创 crontab的特殊标签 reboot
这几天遇到一个问题,每个用户有一个守护进程,为了这个守护进程同时只运行一个,所以加了一个文件锁,然而机器要是重启的话,这个文件锁是没法删掉的,重启之后就导致守护进程无法启动了。一直在找一钟机制,能够在crontab脚本运行之前执行,不是类似rc.d,因为这个是针对root账号,要处理到其他账号的文件锁,就需要针对每一个账号的文件锁都删除一遍,今天发现了crontab的特殊标签,reboot,可以在每次重启后执行一次,触发时机是在crontab其他定时任务之前执行,完美契合我的需求。具体用法是这样的:
2022-05-12 14:23:09
2572
原创 解决VSCode代码不高亮的问题
在卸载了所有扩展,并且卸载了vscode之后,发现还是不高亮,并且卸载重装之后居然可以直接打开之前最后一次打开的文件和目录,想想应该是临时文件的原因,后面在系统盘搜索了一下,发现一堆的临时文件直接删除这些临时文件,重新安装插件,发现代码可以高亮了,问题解决...
2022-01-19 12:23:49
6387
转载 警惕利用Linux预加载型恶意动态链接库的后门
一、动态链接库预加载型rootkit概述动态链接库预加载机制是系统提供给用户运行自定义动态链接库的一种方式,在可执行程序运行之前就会预先加载用户定义的动态链接库的一种技术,这种技术可以重写系统的库函数,只需要在预加载的链接库中重新定义相同名称的库函数,程序调用库函数时,重新定义的函数即会短路正常的库函数,这种技术可以用来重写系统中有漏洞的库函数,达到修复漏洞的目的,如get_host_byname导致ghost漏洞的这类函数。这种技术也可以被不怀好意的攻击者用来写rootkit,通过重写mkdir, m
2022-01-17 11:56:30
2329
原创 faketime实现游戏服务器时间定制
游戏开发中,服务器经常需要调整时间,比如测活动,要测完整流程需要频繁修改时间,如何实现多租户各自定制时间,本文会给出答案
2022-01-14 14:35:07
4186
3
原创 直接从mysql binlog文件提取数据,无需恢复整个数据库
常常恢复整库只是为了很少量的数据,但是这个成本很大,耗时,本文提供一种思路,直接从binlog中抽取数据,粒度更小,耗时从小时到级分钟级
2021-11-26 18:40:50
3501
原创 记录一次虚拟机内存黑洞的追查过程
最近将一台开发机迁移到了虚拟机上,运维同事给的配置跟之前一样,64G内存,可是同事用着没几天就感觉很卡,之前物理机的时候没出现过这个问题。先记录下追查过程1.free -m和top都查看了当前内存使用情况# free -m total used free shared buff/cache availableMem: 62815 33918 27024 16
2021-11-22 18:40:56
1464
QCon2010大会ppt下载
2011-05-03
2011年DTCC数据库大会ppt下载
2011-04-21
FastDFS介绍 pdf
2011-04-08
libevent源码深度剖析.pdf
2011-04-07
Google C++编程规范(pdf 英文)
2011-03-09
网游服务器日志系统(以小时为单位生成日志)
2011-03-06
GNU make中文手册
2011-03-05
memcached全面剖析
2011-03-04
Linux Debugging And Performance Tuning
2011-03-04
A Byte of Vim
2011-03-04
varnish实现原理
2011-02-25
gawk_eg.tar.gz
2021-11-08
svn hook脚本,实现commit提交逻辑检查,评论格式,文件格式逻辑设定
2021-05-25
ip智能识别php代码.zip
2021-05-25
socket工具包 c++
2011-08-18
淘宝软件基础设施构建实践 pdf
2011-06-30
Google MapReduce中文版 pdf
2011-06-30
Bigtable:一个分布式的结构化数据存储系统[中文版] pdf
2011-06-30
The Google File System中文版 pdf
2011-06-30
分布式系统工程实践 pdf
2011-06-30
mysql分布式事务实现 MySQL XA pdf
2011-05-15
具备守护监控功能的spawn-fcgi
2011-05-10
QCon2011企业软件开发大会ppt 3
2011-05-03
QCon2011企业软件开发大会ppt 2
2011-05-03
QCon2011企业软件开发大会ppt 1
2011-05-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人