当前位置: 首页 > 面试题库 >

节点Js:测试以查看文件是否被锁定以供其他进程编辑

皇甫德庸
2023-03-14
问题内容

我正在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);
                    }
                });
            });
        }
    });
}


 类似资料:
  • 本文向大家介绍oracle查看被锁的表和被锁的进程以及杀掉这个进程,包括了oracle查看被锁的表和被锁的进程以及杀掉这个进程的使用技巧和注意事项,需要的朋友参考一下 -- 1. 查看被锁的表 -- 2. 查看是哪个进程锁的 -- 3. 杀掉这个进程

  • 问题内容: 我正在研究Java中的字节码操作/生成,我只是想知道是否有一种简单的方法可以检查字节码。我不想反编译该文件,我想实际查看编译后的字节码。我不需要编辑它。这样做的任何链接或程序都是可以接受的答案。 问题答案: 我一直在研究具有颜色编码字节码输出模式的反编译器(我发现它比javap更具可读性)。它还可以输出Java代码或中间的“字节码AST”。

  • 问题内容: 我的Java程序想要读取一个文件,该文件可以被另一个写入该文件的程序锁定。我需要检查文件是否已锁定,如果已锁定,请等待它释放。我该如何实现? Java程序在Windows 2000服务器上运行。 问题答案: 在带有Sun JVM的Windows下,尽管JavaDoc保留了相当模糊的可靠性(取决于系统),但FileLocks应该可以正常工作。 但是,如果您只需要在Java程序中识别出 其

  • 问题内容: 我正在使用 Junit 通过 Seleniun WebDriver 运行测试。我试图将测试分成功能区域,以更好地报告错误。我创建了测试以测试页面加载/将文档移动到其他工作流程。如果页面加载测试失败,或者工作流移动失败,我想跳过后续的页面/工作流测试。 如果测试A失败,如何跳过班级中的其余测试或在班级B中运行测试? 注意: 我意识到我要问的是“ UNIT TESTS的 不良实践* 。但是

  • 我是noob,所以,原谅我,如果这是一个非常基本的问题。我正在创建我的第一个应用程序,它是一个游戏。对于一个文件来说,代码变得太大了(总是上下移动很烦人)。所以我把我的函数放在另一个文件里。问题是addChild不能从其他文件工作。在我的游戏中,当玩家停在一个特定的地方时,必须调用一个节点。如果该函数在“GameScene.swift”文件中,那么它工作得很好,但是如果该函数在任何其他swift文

  • 现在当这个程序运行时,我得到以下输出: 现在我知道这个问题以前已经被问过很多次了,但是有什么方法可以强制解锁互斥锁吗?似乎该实现只允许锁互斥体的线程在主动检查时解锁互斥体,即使使用普通互斥体类型也是如此。 我为什么要这么做?它与编写一个防弹网络服务器有关,该服务器能够从大多数错误中恢复,包括线程意外终止的错误。在这一点上,我看不到从不同于锁定互斥体的线程解锁互斥体的方法。所以在我看来,我有几个选择