小编mem*_*eme的帖子

CONFIG_HZ 在哪里定义?

我正在阅读整个Linux 5.0.7 源代码,我注意到一些奇怪的事情。我将linux在这里称为父目录,如果社区使用文献中的其他命名约定,请纠正我。

在文件中linux/include/asm-generic/param.h,使用了该值CONFIG_HZ。该值未在前几行中定义,唯一包含的文件是uapi/asm-generic/param.h. 我相信这linux/include/uapi/asm-generic/param.h再次指的是,如果我错了,请纠正我。

在该文件中,没有CONFIG_HZ定义过这样的值。现在,在您的普通 C 程序中,这会导致错误。我们在这里有 3 个选择:

  • 我误解了一些东西,linux/include/asm-generic/param.h实际上包含了另一个定义了值的文件。
  • 这是一个错误,我是发现它的天才(最不可能的选择)。
  • 有一些“魔法”正在发生,比如 Linux 之前定义的一些宏,或者内核在包含linux/include/asm-generic/param.h定义值的位置之前包含的一些文件,以便何时linux/include/asm-generic/param.h调用该值已经定义。在这种情况下,请指出这个文件是什么。

如果这些都不是真的,为什么这是一个正确的 C 程序?

linux c linux-kernel

2
推荐指数
1
解决办法
2614
查看次数

为什么管道运算符的这种用法不起作用?

我通常pidof用来获取进程的 pid 并KILL -SIGTERM <pid>终止它。

管道应该将一个命令的输出作为另一个命令的输入。

那么为什么下面的命令不起作用呢?

pidof firefox | kill -SIGTERM
Run Code Online (Sandbox Code Playgroud)

bash pipe

0
推荐指数
1
解决办法
139
查看次数

标签 统计

bash ×1

c ×1

linux ×1

linux-kernel ×1

pipe ×1