nginx进程模型

进程交互模型图

这里写图片描述

worker process 工作进程

使用pstack < pid > 看出子进程的堆栈:

#0  0x0000003d87ce8f13 in __epoll_wait_nocancel () from /lib64/libc.so.6
#1  0x000000000043eecf in ngx_epoll_process_events ()
#2  0x000000000042ff64 in ngx_process_events_and_timers ()
#3  0x000000000043cea1 in ngx_worker_process_cycle ()
#4  0x00000000004397c2 in ngx_spawn_process ()
#5  0x000000000043bd31 in ngx_start_worker_processes ()
#6  0x000000000043b371 in ngx_master_process_cycle ()
#7  0x0000000000407662 in main ()

由此可以看到,如果使用gdb或者lldb调试 worker process, 可以在下面进行断点:

    delta = ngx_current_msec;

    (void) ngx_process_events(cycle, timer, flags);

    delta = ngx_current_msec - delta;

其中:ngx_process_events 指向的就是ngx_epoll_process_events 函数,用的是c语言中的函数指针。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值