我正在从 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 上都可以使用的好的替代调用是什么?
我的代码片段发生这种情况:
mode_t mode
= S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH;
if (::mknod(_resolvedName, mode, 0)) {
我的目标是创建一个具有正确权限的空文件。