我们可以通过 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
13
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:4 个月前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐