我正在NodeJs中编写一些代码,并想检查该文件是否正在被另一个进程使用,如果不执行则不执行任何操作,如果不使用则执行某些操作。
fs.stats有点像,这时文件大小是多少。并且不告诉我当前是否正在其他进程中使用它。
不知道还有什么尝试。
在尝试使用nodejs访问文件之前,最好的方法是判断文件当前是否已被锁定以供其他进程编辑?
经过一些评论后,我最终使用了代码。
var delInterval = setInterval(del(), 1000); function del(){ fs.open(filePath, 'r+', function(err, fd){ if (err && err.code === 'EBUSY'){ //do nothing till next loop } else if (err && err.code === 'ENOENT'){ console.log(filePath, 'deleted'); clearInterval(delInterval); } else { fs.close(fd, function(){ fs.unlink(filePath, function(err){ if(err){ } else { console.log(filePath, 'deleted'); clearInterval(delInterval); } }); }); } }); }