问题标签 [mknod]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
macos - 是否有相当于 FreeBSD 的 make_dev() 函数的 OS X?
我正在尝试将一些代码从 FreeBSD 移植到 OS X。该代码相当低级,它make_dev()
使用诸如ioctl()
.
理想情况下,我希望我的代码尽可能接近原始代码,以便将来可以更轻松地合并上游更改:我的问题是,有没有办法在 OS X 上创建此类设备文件?根据维基百科,该平台支持该成语。有人可以指出我正确的方向吗?
c++ - mknod(2) 在 FreeBSD 上需要超级用户来代替使用什么?
我正在从 Linux 移植到 FreeBSD 并遇到 ::mknod() 失败并出现 errno:
但我也看到它在手册页前面的状态:
那么,在 Linux 和 FreeBSD 上都可以使用的好的替代调用是什么?
我的代码片段发生这种情况:
我的目标是创建一个具有正确权限的空文件。
c - 从 FUSE 调试系统调用
我正在编写一个 FUSE 文件系统,它通过 sqlite 进行一些映射,然后将调用传递给底层文件系统(有点像bbfs的扩展)。当我尝试开始制作文件时,它开始给我带来麻烦。当我调用 mknod 时,它会返回 ERANGE。这是 strace 的尾部(文件系统安装在 test/ 上):
这是我内部日志中的相关部分:
我正在寻找(1)这个直接问题的解决方案和(2)一种调试 FUSE 的好方法。我怀疑 ERANGE 来自 strtol(),但我不知道如何检查。我希望我可以让 gdb 在遇到回调时弹出...
谢谢!
编辑:哦,这是我的 mknod() 函数的来源:
c - mknod 是便携式的吗?如果没有,有什么替代方法?
我想mknod
在我的代码中使用来创建一个文件,但是man
说,
mknod() 的唯一可移植用途是创建一个 FIFO 专用文件。如果 mode 不是 S_IFIFO 或 dev 不是 0,则 mknod() 的行为未指定。
这是否意味着 mknod 不是真正可移植的,我应该使用其他方式来创建函数?打电话open
和即时close
怎么样?哪种方式更安全?
linux - 通过 FIFO 重定向标准输入
我在 GNU/Linux 下运行一个服务器应用程序(用 Java 编写),它接受输入(我猜来自标准输入)并解释它以运行一些命令。我不想在终端窗口中运行该应用程序(我想运行一个守护程序),但我仍然希望能够随时输入命令。我认为我可以使用 fifos 来做到这一点,所以我使用 mknod 创建了它。问题是cat fifofile > java...和cat fifofile | java ...由于某种原因出现“找不到文件”错误而失败。
仅使用 cat 进行读写,fifo 可以完美运行。
有什么方法可以解决这个问题,或者有什么其他方法可以实现相同的目标吗?
c - 在 c 程序中在 Ubuntu 上使用 mknod
我正在尝试在我使用 mknod 命令的地方制作 ac 程序
并做一些事情。它在 Red Hat 系统上运行良好,但在 ubuntu 上失败,给出错误无效参数。
linux - 如何从 Linux 内核模块的 init_module 代码创建设备节点?
我正在为 linux 内核编写一个模块,我想在 init 函数中创建一些设备节点
我还希望内核为我的第一个节点分配一个次要编号,然后我将自己分配其他节点的次要编号。
我怎样才能在代码中做到这一点。我不想使用 mknod 从 shell 创建设备
macos - mknod 的 OSX 文档
我认为 Apple 的文档在 mknod 的主要/次要数字上有点稀疏。我试图为麦克风创建一个原始字符设备,以便我可以将数据传输到其中。在适当的 linux 系统上,内核的 ./Documentation/Devices.txt 文件包含引用的主要/次要编号。Apple 是否为创建用于硬件访问的原始内核字符设备创建了任何推论文档?
前任。:mknod dsp c 14 3
提前致谢。
c - C:使用 mknod() 创建命名管道不起作用
语言:C 操作系统:Ubuntu
我只是尝试使用以下命令创建一个 FIFO 命名管道:
问题是我总是让状态的值为-1(意味着它已经失败)而不是0。
perror 返回 'pipe.txt: 文件存在'
我不知道我应该如何调试这样的问题或可能是什么原因,希望任何人的代码指导我出了什么问题。
(注意:文件 pipe.txt 与源文件位于同一路径。)
command-line - `mknod` 的反义词是什么?
我正在学习从内核模块编程指南编写字符设备驱动程序,并用于mknod
创建一个节点/dev
来与我的驱动程序对话。
rmnod
但是,在检查了联机帮助页并观察到这是一个不存在的命令之后,我找不到任何明显的方法来删除它。
什么是扭转效果的正确方法mknod
,并安全地删除创建的节点/dev
?