我们可以通过 cat /proc/cmdline来获取内核的命令行参数,但是每个参数是怎么在代码解析的, 以slub为例,在源码中有如下代码:

__setup("slub_min_order=", setup_slub_min_order);

__setup("slub_max_order=", setup_slub_max_order);

__setup("slub_min_objects=", setup_slub_min_objects); 

__setup("slub_nomerge", setup_slub_nomerge);


static int __init setup_slub_min_order(char *str)
{
        get_option(&str, &slub_min_order);               <====可以通过get_option函数来获取参数值

        return 1;
}


__setup是个宏, 第一个参数为命令行中的字符串,第二个参数为参数的处理函数, 如果命令行参数中有匹配的字符串,则调用相应的处理函数来解析, 进而可以通过命令行参数来控制某些模块的行为。

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐