我正在开发一个使用文件系统操作的Node-Webkit应用程序。在删除(unlink)之前,我需要检查文件是否正在被其他进程使用。
如果我只使用fs.unlink方法,系统将等待文件停止被使用,然后再完全删除它。但是我想要的是,如果文件正在被使用,则不等待直接取消整个操作,不要删除该文件。
谢谢。
如果我只使用fs.unlink方法,系统将等待文件停止被使用,然后再完全删除它。但是我想要的是,如果文件正在被使用,则不等待直接取消整个操作,不要删除该文件。
谢谢。
var fs = require('fs'),
exec = require('child_process').exec;
function unlinkIfUnused(path) {
exec('lsof ' + path, function(err, stdout, stderr) {
if (stdout.length === 0) {
console.log(path, " not in use. unlinking...");
// fs.unlink...
} else {
console.log(path, "IN USE. Ignoring...");
}
});
}
unlinkIfUnused('/home/jack/testlock.txt');