I am writing some code in NodeJs, and want to check to see if the file is in use by another process, if it is then do nothing, if it isn't in use do something.
fs.stats is kind of a, at this instant what is the file size. And doesn't tell me me if its currently in use from another process.
Not sure what else to try.
What is the best way to tell if a file is currently locked for editing by another process, before trying to access the file using nodejs?
Code I ended up using after some instruction from the comments left.
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);
}
});
});
}
});
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With