问题标签 [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.

0 投票
2 回答
616 浏览

macos - 是否有相当于 FreeBSD 的 make_dev() 函数的 OS X?

我正在尝试将一些代码从 FreeBSD 移植到 OS X。该代码相当低级,它make_dev()使用诸如ioctl().

理想情况下,我希望我的代码尽可能接近原始代码,以便将来可以更轻松地合并上游更改:我的问题是,有没有办法在 OS X 上创建此类设备文件?根据维基百科,该平台支持该成语。有人可以指出我正确的方向吗?

0 投票
2 回答
458 浏览

c++ - mknod(2) 在 FreeBSD 上需要超级用户来代替使用什么?

我正在从 Linux 移植到 FreeBSD 并遇到 ::mknod() 失败并出现 errno:

但我也看到它在手册页前面的状态:

那么,在 Linux 和 FreeBSD 上都可以使用的好的替代调用是什么?

我的代码片段发生这种情况:

我的目标是创建一个具有正确权限的空文件。

0 投票
2 回答
3937 浏览

c - 从 FUSE 调试系统调用

我正在编写一个 FUSE 文件系统,它通过 sqlite 进行一些映射,然后将调用传递给底层文件系统(有点像bbfs的扩展)。当我尝试开始制作文件时,它开始给我带来麻烦。当我调用 mknod 时,它会返回 ERANGE。这是 strace 的尾部(文件系统安装在 test/ 上):

这是我内部日志中的相关部分:

我正在寻找(1)这个直接问题的解决方案和(2)一种调试 FUSE 的好方法。我怀疑 ERANGE 来自 strtol(),但我不知道如何检查。我希望我可以让 gdb 在遇到回调时弹出...

谢谢!

编辑:哦,这是我的 mknod() 函数的来源:

0 投票
2 回答
995 浏览

c - mknod 是便携式的吗?如果没有,有什么替代方法?

我想mknod在我的代码中使用来创建一个文件,但是man说,

mknod() 的唯一可移植用途是创建一个 FIFO 专用文件。如果 mode 不是 S_IFIFO 或 dev 不是 0,则 mknod() 的行为未指定。

这是否意味着 mknod 不是真正可移植的,我应该使用其他方式来创建函数?打电话open和即时close怎么样?哪种方式更安全?

0 投票
2 回答
2446 浏览

linux - 通过 FIFO 重定向标准输入

我在 GNU/Linux 下运行一个服务器应用程序(用 Java 编写),它接受输入(我猜来自标准输入)并解释它以运行一些命令。我不想在终端窗口中运行该应用程序(我想运行一个守护程序),但我仍然希望能够随时输入命令。我认为我可以使用 fifos 来做到这一点,所以我使用 mknod 创建了它。问题是cat fifofile > java...cat fifofile | java ...由于某种原因出现“找不到文件”错误而失败。

仅使用 cat 进行读写,fifo 可以完美运行。

有什么方法可以解决这个问题,或者有什么其他方法可以实现相同的目标吗?

0 投票
3 回答
11419 浏览

c - 在 c 程序中在 Ubuntu 上使用 mknod

我正在尝试在我使用 mknod 命令的地方制作 ac 程序

并做一些事情。它在 Red Hat 系统上运行良好,但在 ubuntu 上失败,给出错误无效参数。

0 投票
3 回答
56626 浏览

linux - 如何从 Linux 内核模块的 init_module 代码创建设备节点?

我正在为 linux 内核编写一个模块,我想在 init 函数中创建一些设备节点

我还希望内核为我的第一个节点分配一个次要编号,然后我将自己分配其他节点的次要编号。

我怎样才能在代码中做到这一点。我不想使用 mknod 从 shell 创建设备

0 投票
1 回答
531 浏览

macos - mknod 的 OSX 文档

我认为 Apple 的文档在 mknod 的主要/次要数字上有点稀疏。我试图为麦克风创建一个原始字符设备,以便我可以将数据传输到其中。在适当的 linux 系统上,内核的 ./Documentation/Devices.txt 文件包含引用的主要/次要编号。Apple 是否为创建用于硬件访问的原始内核字符设备创建了任何推论文档?

前任。:mknod dsp c 14 3

提前致谢。

0 投票
2 回答
5913 浏览

c - C:使用 mknod() 创建命名管道不起作用

语言:C 操作系统:Ubuntu

我只是尝试使用以下命令创建一个 FIFO 命名管道:

问题是我总是让状态的值为-1(意味着它已经失败)而不是0。

perror 返回 'pipe.txt: 文件存在'

我不知道我应该如何调试这样的问题或可能是什么原因,希望任何人的代码指导我出了什么问题。

(注意:文件 pipe.txt 与源文件位于同一路径。)

0 投票
2 回答
32589 浏览

command-line - `mknod` 的反义词是什么?

我正在学习从内核模块编程指南编写字符设备驱动程序,并用于mknod创建一个节点/dev来与我的驱动程序对话。

rmnod但是,在检查了联机帮助页并观察到这是一个不存在的命令之后,我找不到任何明显的方法来删除它。

什么是扭转效果的正确方法mknod,并安全地删除创建的节点/dev