提问人:Sterling Butters 提问时间:1/31/2020 最后编辑:Sterling Butters 更新时间:2/5/2020 访问量:356
Node.js:使用 fs.writeFileSync 写入系统文件
Node.js: Writing to system files with fs.writeFileSync
问:
我正在尝试写入 with 下的系统文件,但是当写入内容时,该文件保持不变(原始内容保持不变)并导致/sys/kernel/config/usb_gadget
fs.writeFileSync
""
Error: EBUSY: resource busy or locked, write
at Object.writeSync (fs.js:581:3)
at Object.writeFileSync (fs.js:1275:26)
at Socket.<anonymous> (/opt/sterling/ip-kvm-interface/app.js:249:6)
at Socket.emit (events.js:210:5)
at /opt/sterling/ip-kvm-interface/node_modules/socket.io/lib/socket.js:528:12
at processTicksAndRejections (internal/process/task_queues.js:75:11) {
errno: -16,
syscall: 'write',
code: 'EBUSY'
}
在写一些其他内容时。目标写入文件的权限为 777。
无法写入下面的文件,或者我是否遗漏了其他内容?fs.writeFileSync
sys
using 不返回任何内容(即使 Node 进程正在运行),也不返回任何内容。fsuser /sys/kernel/config/usb_gadget/kvm-gadget/UDC
lsof | grep /sys/kernel/config/usb_gadget/kvm-gadget/UDC
我是否必须有一个过程才能使其工作(不是首选,而是我脑海中闪过 - 因为不确定如何将其转换为同步任务)?spawn
echo
答:
4赞
Sterling Butters
2/5/2020
#1
https://github.com/nodejs/help/issues/2459
Are there undocumented limitations to fs.writeFileSync that I am unaware of?
没有特定于 fs.writeFileSync() 的内容,您可能会收到相同的错误 使用普通的 C 程序。
/sys/kernel/config/usb_gadget 不是一个真实的文件,它是一个通信 带有内核的 USB 小工具驱动程序的通道。就是那个司机 返回错误。
(如果你真的感兴趣,我可以向你指出代码行。 它是内核源代码树中的 drivers/usb/gadget/configfs.c 案例。
评论
Error: EBUSY: resource busy or locked