【发布时间】:2010-10-23 22:12:33
【问题描述】:
我正在从 Linux 移植到 FreeBSD 并遇到 ::mknod() 失败并显示 errno:
[EINVAL] Creating anything else than a block or character spe-
cial file (or a whiteout) is not supported.
但我也看到它在手册页前面的说明:
The mknod() system call requires super-user privileges.
那么,在 Linux 和 FreeBSD 上都可以使用的好的替代调用是什么?
我的代码 sn-p 发生这种情况:
mode_t mode
= S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH;
if (::mknod(_resolvedName, mode, 0)) {
我的目标是创建一个具有正确权限的空文件。
【问题讨论】:
-
返回
EINVAL,你想做什么? -
@Ignacio Vazquez-Abrams 添加了代码 sn-p。
-
你还没有告诉我们你想要创造什么样的东西。