我正在尝试使用写入系统文件/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。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句