gpt4 book ai didi

javascript - Node js检查文件是否被另一个进程使用

转载 作者:搜寻专家 更新时间:2023-10-31 23:18:05 24 4
gpt4 key购买 nike

我正在开发一个执行文件系统操作的 node-webkit 应用程序。我需要能够在删除(取消链接)之前检查该文件是否正在被另一个进程使用。

如果我只使用 fs.unlink 方法,系统会等到文件停止使用后再完全删除它。我想要的是,如果文件正在被使用,不要等到它被释放,而是取消整个操作,不要删除它。

谢谢。

最佳答案

假设您使用的是 *nix 系统,这样的东西应该可以工作。显然,就错误和路径检查而言,这过于简化了。可能有更好的方法来做到这一点,但我不妨以此开始讨论:

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');

关于javascript - Node js检查文件是否被另一个进程使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23819417/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com