无法回显到 MKNOD 创建的设备文件或从中回显
can't echo to or cat from a device file that was created by mknod
我在/dev/
文件夹中创建了一个字符设备文件:
mode_t mode = S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH|S_IFCHR;
const char * pathname = "/dev/tty.myown;"
int res = mknod(pathname, mode, 0);
它成功创建了字符设备文件。因此,我通过调用cat /dev/tty.myown
来调用cat
,然后尝试通过运行:echo "hello world" > /dev/tty.own
向其发送消息。但是,该消息未显示在cat
流中。我想知道我还需要在该文件上设置哪些其他设置,以便能够从该设备文件读取
posix标准(.1-2001(状态:
MKNOD((的唯一便携式用途是创建一个FIFO特殊文件。如果模式不是s_ififo或dev不是0,则未指定的mknod((行为
您正在尝试创建一个字符特殊文件(即不是s_ififo(。特别是,在Linux上,设备编号0是一个无效的设备,该设备绝对不做任何事情。如果您想要FIFO,请设置S_IFIFO
而不是S_IFCHR
。
相关文章:
- 终端不会为C++文件创建.exe文件吗
- 如何从具有两列的.txt文件创建并行数组?
- 从 .lib 文件创建一个.dll文件
- 如何从输入文件 c++ 创建随机名称生成器
- 无法从 cso 文件创建顶点着色器(从 fx 文件创建)
- 如何为多个目录中的多个文件创建生成文件?
- 在编译时从 c++ 文件创建枚举
- 如何在运行时从 c++ 中的 DLL 文件创建对象?
- 文件创建并不总是成功
- 如何使用 QFile、c++ 从文件创建整数数组
- 您可以使用 makefile 从 .o 对象文件创建 C++ 文件吗?
- 从函数中的dat文件创建一个2维数组
- 如何为 cpp 和 h 文件创建别名(并忽略编译器__attributes__)
- 如何从现有的生成文件创建 CMake 文件?
- 为什么我无法使用文本文件创建文件映射?
- 通过读取文件创建映射<字符串,矢量>时如何管理内存<string>
- 从文本文件创建 2D 字符串矢量
- ofStream: - 尽管文件创建了,但文本文件上没有输出
- 从语言文件创建JSON对象
- 将文本文件创建到节点.js的插件C++