EBUSY:资源繁忙或锁定,重命名。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EBUSY:资源繁忙或锁定,重命名。相关的知识,希望对你有一定的参考价值。

我的应用程序有这个问题,所以我有一个阶段文件夹,我们接收文件,有一个fs.watch的目录,它将监控文件和移动文件到另一个目录,一旦它看到它。只是为了模仿的过程中,我有应用程序的运行和复制粘贴一个文件到阶段目录。但我一直得到的错误 ,不知道如何克服这个问题

EBUSY:资源繁忙或锁定,重命名为'C:Usersa/Desktop/Node js Data Loader/stage_load/dataUI.txt' -> 'C:Usersa/Desktop/Node js Data Loader/stage_loadstageUI.txt' 。

下面是我的一段代码

fs.watch(DATA_PATH,(eventype,filename) =>
    {

        if(filename.length > 0)
        {
            const data_name = path.join(DATA_PATH, filename);
            const stg_name = path.join(STAGE_PATH, filename);
            fs.rename(data_name,stg_name ,(err) =>{
                if(err)
                {
                    console.log('File failed to move to Stage');
                    throw err;
                }

            })
            main();
        }

    })

好像代码需要等待写完整的文件,不知道

答案

对不起的挖掘了,但我遇到了同样的问题,今天我终于找到了一个 "解决方案"。

而这个帖子是在谷歌的第二个结果,所以... ...

我可以解决我的问题,写在我的日志文件异步。

我的代码是这样运行的

  1. 格式化文件夹的访问路径
  2. 检查program.log的大小,如果太大,就在最后用 "000x "重命名。
  3. fs.appendFile(path,data,callback)

当我试着用fs.appendFileSync()时,我自动地用EBUSY.但用async方法工作就像一个魅力。

我想有一些库允许自动完成它,但我希望我自己的代码,我可以修改和弯曲,我想

以上是关于EBUSY:资源繁忙或锁定,重命名。的主要内容,如果未能解决你的问题,请参考以下文章

EBUSY:资源繁忙或锁定,lstat 'C:\hiberfil.sys'

错误:EBUSY:资源繁忙或锁定,rmdir

获取错误EBUSY:资源繁忙或已锁定

vuejs - 来自 chokidar (C:\) 的错误:错误:EBUSY:资源繁忙或锁定,lstat 'C:\hiberfil.sys'

打开失败:EBUSY(设备或资源忙)

ORA-00054: 资源繁忙并使用指定的 NOWAIT 获取或超时已过期