Nginx学习笔记(十五):ngx_setproctitle()

这篇博客介绍了Nginx中的ngx_setproctitle()函数,用于修改worker进程名称。文章详细阐述了进程名称的位置——存储在argv[0],并说明了修改进程名称时需注意不能覆盖环境变量environ,以防数据丢失。通过实例展示了如何正确修改进程名称以确保安全。
摘要由CSDN通过智能技术生成

前言


       这是一个小插曲。。在ngx_worker_process_cycle()函数里面有个ngx_setproctitle()用来修改worker进程名字。然后,发现里面的东西很有趣。。关键是里面内容以前我是不知道的,在此记录。


进程名称在哪儿


       简单来说,该函数就是用来修改进程名字的。这里参考博文《Linux修改进程名称》,在此感谢博主。

       Linux下用ps命令可以看到显示的进程名字。这个进程的名字会体现在它的main()函数的入参中...

       main函数的原型:

int main(int argc , char *argv[]);
       不多说,argc是表示命令行参数的个数;argv[]则用于以字符串形式存储所有的命令行参数内容。

       OK,Linux中进程的名称就存储在argv[0]中。(这个之前真不了解,囧...)

       然后,Linux还有个环境变量参数信息,表示进程执行需要的所有环境变量信息。它通过一个全局变量Char **environ;来访问环境变量。

       重点来了这个argv[]与environ两个变量所占的内存是连续的,并且是environ紧跟在argv[]后面

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值