jav*_*sas 5 javascript filesystems file node.js node-webkit
我正在开发一个执行文件系统操作的 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');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2661 次 |
| 最近记录: |