小编com*_*tty的帖子

linux 'ls -lisa' 命令的结果

ls -lisa 命令中第二列的含义是什么?

ls -lisa
total 12
280187 0 -rw-rw-r--  2 embedded embedded    0 Apr  3 02:05 a.txt
Run Code Online (Sandbox Code Playgroud)
  • total 命令表示分配的 512 字节块的数量。
  • 第一列显示 I-Node 编号。 (280187)
  • 第三列显示权限。(-rw-rw-r--)
  • 第 4 列显示 inode 的硬链接数。 (2)
  • 第 5 列显示用户和组。(嵌入式嵌入式)
  • 第 6 列显示文件的大小。(0)
  • 第 7 列显示上次更改的日期(Apr 3 02:05)
  • 最后一列显示文件名(a.txt)

但我不知道第二列代表什么?

linux ls

8
推荐指数
1
解决办法
7617
查看次数

失败时返回代码。正面还是负面?

C程序在特殊情况下在Linux中可能无法执行。示例:您分配了一些空间,但操作系统拒绝了它。

char *buffer = (char *) malloc(1024);
if (buffer == NULL)
    return ENOMEM;
Run Code Online (Sandbox Code Playgroud)

此故障由交付给OS的返回码标记。

  • 返回代码0(EXIT_SUCCESS)被标记为成功执行。
  • 不为0的返回码被标记为失败。

所以我的问题是,当程序检测到错误时,约定什么?它应该返回正数还是负数返回码?

我的教授告诉我在UNIX / Linux中始终返回负错误代码。但是errno码都是正整数。同样,EXIT_FAILURE中的define-Statement为1,为正整数。所以我的代码应该像这样:

char *buffer = (char *) malloc(1024);
if (buffer == NULL)
    return -ENOMEM;
Run Code Online (Sandbox Code Playgroud)

还是喜欢上面的代码?我从Linux内核模块知道,在大多数情况下,它们在失败时会返回负错误代码。

感谢您的帮助。

c linux return errno

6
推荐指数
2
解决办法
4487
查看次数

PTHREAD_PRIO_INHERIT 和 PTHREAD_PRIO_PROTECT 有什么区别?

在以下函数中:

int pthread_mutexattr_setprotocol(pthread_mutexattr_t *attr,
   int protocol);
Run Code Online (Sandbox Code Playgroud)

您可以为互斥属性定义协议。可以使用以下协议:

  • PTHREAD_PRIO_NONE
  • PTHREAD_PRIO_INHERIT
  • PTHREAD_PRIO_PROTECT

我知道选择pthread_prio_inherit时,保存锁的任务获取所有任务的最高优先级(进程(如果进程之间的进程)或线程之间的过程)。这可以防止优先级反转。但 PTHREAD_PRIO_PROTECT 似乎也这样做。所以我的问题是,这两种协议有什么区别?

c linux multithreading posix mutex

6
推荐指数
1
解决办法
2170
查看次数

fsync和syncfs有什么区别?

fsync和syncfs有什么区别?

int syncfs(int fd);
int fsync(int fd);
Run Code Online (Sandbox Code Playgroud)

fync的联机帮助页说明如下:

fsync()传输("刷新")文件描述符fd引用的文件(即修改的缓冲区缓存页)的所有修改后的内核数据到磁盘设备(或其他永久存储设备),以便所有即使在系统崩溃或重新启动后,也可以检索更改的信息.这包括写入或刷新磁盘高速缓存(如果存在).呼叫将阻止,直到设备报告传输已完成.它还刷新与文件关联的元数据信息(请参阅stat(2)).

syncfs的联机帮助页说明如下:

sync()导致对文件元数据和数据的所有缓冲修改都写入下层文件系统.

syncfs()与sync()类似,但仅同步包含打开文件描述符fd引用的文件系统.

对我来说两者似乎都是平等 它们正在同步filedescriptor引用的文件和关联的元数据.

c linux filesystems posix unistd.h

5
推荐指数
2
解决办法
3534
查看次数

标签 统计

linux ×4

c ×3

posix ×2

errno ×1

filesystems ×1

ls ×1

multithreading ×1

mutex ×1

return ×1

unistd.h ×1