整体流程
网管到config文件,config文件到应用
1、网管到config文件
网管界面对应配置会生成相应的config文件,网管的位置最终修改的就是这个config文件
目录 /etc/config/xxx
如防火墙
利用uci的框架去操作
操作接口uci命令,uci set
2、config到程序的传递
应用程序去读取相应的config文件
读取操作,利用uci框架
读取命令 uci get
c对应有uci对应的get函数
3、网管参数修改通知应用程序更新
procd负责监控进程
当reload_config时,比较当前所有配置文件的md5值与使用中的配置文件的md5,不同就通过ubus总线通知procd配置文件发生改变,如果应用程序在启动时,向procd注册了配置触发服务,那就将调用 reload函数重新读取配置文件,通常是进程退出再启动。如果配置文件没有改变将不会调用,这将节省系统CPU资源。
注意:是配置文件的真实配置内容发生改变之后才会调用,如果增加空行和注释并不会引起配置文件的实质内容改变。
当系统启动时,会执行reload_config将初始配置文件摘要值保存为/var/run/config.md5文件中,下次再执行reload_config就是与这文件里面的MD5值进行比较的。