main函数: 1,关于软件版本信息的初始化工作,类AppVersionInfo
2,关于一些文件路径的初始化工作,类Layout
3,更改当前工作目录chdir,运行参数获取process_args,流缓冲区设置
4,初始化DiagsConfig结构体,创建Diags,好像是一个日志管理服务(有待进一步考证)
5,调用initialize_process_manager,RecProcessInit,一些配置的获取(具体什么还没仔细看),ProcessManager类管理与manage通信,收发信号(通过创建socket)
6,设置core大小,init_system(信号注册,获取最大文件描述符),adjust_sys_settings(调整程序运行系统参数)获取接收线程数,任务线程数,
7, http服务配置的初始化(具体还没看完,暂时错过这一段)init_http_header(没看懂)initialize_all_global_stats(有待进一步阅读),
8, remap,parent,NetProcessor,DNSProcessor,Log::init,plugin_init,sslNetProcessor,cacheProcessor,UDPNetProcessor,HttpBodyFactory,钩子调用,transformProcessor,tasksProcessor
遗留问题:配置文件的初始化(),流程走向(状态机的改变,各个线程的运行,消息的获取,事件),
业务流程:从UnixNetProcessor类开始