这一节 pg 启动系统日志进程 。
1 先上个图,看一下函数调用过程梗概,中间略过部分细节
SysLogger 启动方法调用流程图
2 初始化 syslogger 进程
话说 main()-> … ->PostmasterMain()-> … ->SysLogger_Start() ,调用 logfile_getname 获取系统日志文件名,调用 logfile_open 打开给文件,然后调用 syslogger_forkexec ,组织好参数“ postgres –forklog ” 。 再调用 internal_forexec() , fork 一个新的系统日志进程。
这个新的系统日志进程再按下面的调用流程图初始化。这个过程和后面 pg 启动过程的高潮部分 StartupDataBase 重叠,把这个高潮过了再看回过头来继续讨论。
Fork SysLogger 进程后初始化进程的调用流程图
------------
转载请著名出处,来自博客:
blog.csdn.net/beiigang
beigang.iteye.com