BeiGang 发表于 2013-1-30 01:25:01

PostgreSQL启动过程中的那些事十二.五:启动系统日志进程syslogger

       这一节pg启动系统日志进程。

1先上个图,看一下函数调用过程梗概,中间略过部分细节

http://dl.iteye.com/upload/attachment/0069/3815/13565f3c-b3d3-3b8a-b113-150b526c6c02.bmp
SysLogger启动方法调用流程图

 

2初始化syslogger进程

话说main()->…->PostmasterMain()->…->SysLogger_Start(),调用logfile_getname获取系统日志文件名,调用logfile_open打开给文件,然后调用syslogger_forkexec,组织好参数“postgres –forklog”。再调用internal_forexec(),fork一个新的系统日志进程。

这个新的系统日志进程再按下面的调用流程图初始化。这个过程和后面pg启动过程的高潮部分StartupDataBase重叠,把这个高潮过了再看回过头来继续讨论。


http://dl.iteye.com/upload/attachment/0069/3813/68ea5391-b9d6-3a1b-ad77-4e7f06d96f31.bmp
Fork SysLogger进程后初始化进程的调用流程图

 
 
 
------------
转载请著名出处,来自博客:
blog.csdn.net/beiigang
beigang.iteye.com
页: [1]
查看完整版本: PostgreSQL启动过程中的那些事十二.五:启动系统日志进程syslogger