nginx的函数调用

1.找到nginx的工作进程

ps aux |grep nginx

 

2.使用 pstack 查看函数调用

pstack 5439
#0 0x00007f7ca5aa8903 in __epoll_wait_nocancel () from /lib64/libc.so.6
#1 0x000000000043710d in ngx_epoll_process_events (cycle=0x95a480, timer=18446744073709551615, flags=1) at src/event/modules/ngx_epoll_module.c:573
#2 0x0000000000428614 in ngx_process_events_and_timers (cycle=0x95a480) at src/event/ngx_event.c:247
#3 0x0000000000435517 in ngx_worker_process_cycle (cycle=0x95a480, data=0x0) at src/os/unix/ngx_process_cycle.c:806
#4 0x0000000000431de3 in ngx_spawn_process (cycle=0x95a480, proc=0x435371 <ngx_worker_process_cycle>, data=0x0, name=0x4abd4b "worker process", respawn=-3) at src/os/unix/ngx_process.c:198
#5 0x0000000000434375 in ngx_start_worker_processes (cycle=0x95a480, n=1, type=-3) at src/os/unix/ngx_process_cycle.c:365
#6 0x00000000004339d3 in ngx_master_process_cycle (cycle=0x95a480) at src/os/unix/ngx_process_cycle.c:137
#7 0x00000000004035b3 in main (argc=3, argv=0x7ffc3c4063b8) at src/core/nginx.c:410

3.有如下的函数调用顺序

main -> ngx_master_process_cycle -> ngx_start_worker_processes -> ngx_spawn_process -> ngx_worker_process_cycle -> ngx_process_events_and_timers -> ngx_epoll_process_events -> epoll_wait_nocancel

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值