[我试图用/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
下的文件,还是我缺少其他内容?
使用fsuser /sys/kernel/config/usb_gadget/kvm-gadget/UDC
不返回任何内容(即使正在运行Node进程),并且lsof | grep /sys/kernel/config/usb_gadget/kvm-gadget/UDC
也不返回任何内容。
我是否需要spawn
一个echo
流程才能使其正常工作(不是首选,但我已经跨过了头脑-因为不确定我如何将其转换为同步任务)?
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情况。]