file - 如何故意使文件成为“EBUSY:资源繁忙或锁定”
问题描述
在我所有的搜索尝试中,我只能找到试图修复“EBUSY:资源繁忙或锁定”错误的人。
我想要的是故意将文件置于这种状态(暂时)。如何才能做到这一点?
我尝试使用fs.open
,fs.createReadStream
和fs.createWriteStream
NodeJS,但令我惊讶的是,这并没有使文件忙碌。
我怎样才能做到这一点?最好在 NodeJS 中,但它可以是任何语言。
解决方案
在 .NET Core 上,您可以使用FileStream.Lock()
.
这是.NET Core 3.1 的 API 文档,其中包括一个示例 .NET 程序,该程序也专门锁定文件,这应该会'EBUSY: resource busy or locked'
在尝试访问同一文件的节点 JS 程序中触发错误。
FileStream.Lock()
API 调用签名为:
public virtual void Lock (long position, long length);
您可以将位置设置为 0 并将长度设置为文件的长度来调用它。FileStream.Lock()
在 Windows 上允许锁定文件范围。
推荐阅读
- javascript - 从嵌入式 React 组件添加到 WooCommerce 中的购物车
- selenium - 如何使用 selenium 选择 phpmyadmin sql 查询框并向其发送值?
- java - 如何覆盖方法但仍使用 Java 中的变量?
- sql - 存储过程中 return 关键字的实际目的是什么?
- java - 在多线程中使用图形
- php - php具有相同键的多个数组
- docker - 最大化jupyterhub pods资源分配的最佳方法是什么
- android - 使用android客户端在本地网络中查找服务器IP的最佳方法
- sql - Teradata 16 中的 XMLAGG 等效项
- http - 如何在 Flutter 中使用 http 进行摘要认证?