读取文件时设置隔离标志,隔离标志是指,当使用fs模块打开文件时,在打开模式中,添加一个x标记,例如下面的代码将以独占的方式去读写一个文件:
'w' - 以读取模式打开文件,如果文件不存在则创建
fs.open('qtrace.lock', 'wx', (err) => {
if (err) return console.log('qtrace: locker正在发挥作用生');
// about code
});
什么时候解锁?
在node应用退出的时候会发出一个名为SIGINT的消息,通过监听这个消息来平滑处理应用退出的收尾清理操作
process.on('SIGINT', () => {
//在这里解锁
fs.existsSync(__path) && fs.unlinkSync('qtrace.lock');
});