nginx更改进程名称 学习笔记

2023-05-16

如何更改进程名称

在进入正题之前,我们需要了解一下以下参数的作用:

int main(int argc,char * const*argv)
{}

相信大家一定都见过以上的参数项,但是从来都没有使用过,但是通过对linux编程的学习,我们可以了解到,其中argc代表的是执行这个程序的命令行参数个数,argv实际上可以看成一个二维字符串数组,包含了argc个字符串,那么这些字符串都是些什么呢?
比如说:
当你在linux中包含有可执行文件的目录下想要运行一个名称为nginx的程序时

./nginx -v -s 5

可以看到指令可以分成4段,则argc=4,argv[0]="./nginx\0",argv[1]="-v\0",等等。。

好了,现在进入正题,由于很多程序会自己fork()出子进程,为了能分辨出父进程和子进程的区别,就需要更改进程名称,比方说,nginx的父进程名称为master process而子进程的名称为worker process。
而进程名称就存储在argv[0]中,但是由于argv的const属性使其无法另辟内存,就需要直接修改argv[0]的值,但是因为argv[]的所有内存空间是连续的,如果修改的名称过程则会覆盖住argv[1],argv[2]后面的所有字符串。
并且系统中的环境变量值存储的空间紧挨着argv,也就是说,若修改的名称再长,甚至会覆盖住环境变量值。
在这里插入图片描述
于是我们想到可以在内存空间中再开辟一个与存放所有环境变量值相同大小的空间,将所有环境变量值搬过去后,就又留出了更大的空间来修改进程名。 这样就不会担心进程名覆盖住环境变量了。当然,这样处理的结果是,你未来永远也用不上argv[1]以后的指令了。
还有一点需要注意的argv[]和环境变量的数组environ[]最后一个再后一个的空间内存为NULL。
即environ[strlen(environ)] = NULL;
所以遍历以上两个数组的语句可以写成:

for(int i=0;environ[i];i++){}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nginx更改进程名称 学习笔记 的相关文章

  • Linux学习--Shell脚本的创建

    Shell脚本的创建 1 什么是shell shell 它是命令行解析器 xff0c 分为以下几类 xff1a 1 sh xff1a 全称 Bourne Shell 是UNIX最初使用的 shell xff0c 而且在每种 UNIX 上都可
  • Linux磁盘扩容三种方式

    Linux在使用过程中由于数据量不断增大 xff0c 导致磁盘空间不足 xff0c 需要增加磁盘空间 xff0c 主要有以下三种方式 1 直接给 分区 xff08 或者某一分区 xff09 扩容 xff0c 直接在原有磁盘上增大空间 2 给
  • Ubuntu系统电脑屏幕合盖后 在打开,进入不了系统(黑屏幕)

    一 编辑下列文件 xff1a sudo vim etc systemd logind conf 打开文件输入 xff1a i 然后才能修改 xff1b 修改完成后 xff0c 按 Esc 键 然后输入 34 xff1a wq 34 Ente
  • 【森气杂谈】群晖NAS内外网磁盘映射以及quick connect设置

    森气杂谈 群晖NAS内外网磁盘映射以及quick connect设置 NAS内网磁盘映射具体操作步骤 NAS外网磁盘映射具体操作步骤 quick connect NAS内网磁盘映射 在频繁使用NAS时 xff0c 网页版体验确实不是很好 x
  • 大数据-HDFS的定义、使用场景、优缺点、组成架构

    HDFS定义 HDFS Hadoop Destributed File System 是一个分布式的文件系统 xff0c 用于存储文件 xff0c 通过目录树来定位文件 HDFS使用场景 适合一次写入 xff0c 多次读取的场景 xff0c
  • 获取当天时间相关时间(凌晨、第二天凌晨)

    方法一 xff1a 通过毫秒数获取当天时间相关信息 当前时间毫秒数 long current 61 System currentTimeMillis 今天零点零分零秒的毫秒数 long zero 61 current 1000 3600 2
  • 2021-03-22

    Description 辗转相除法 xff0c 也称欧几里得算法 xff0c 是求最大公约数的算法 辗转相除法首次出现于欧几里得的 几何原本 xff08 第VII卷 xff0c 命题i和ii xff09 中 xff0c 而在中国则可以追溯至
  • 如何禁止.exe文件运行?

    开始 61 gt 运行 61 gt gpedit msc计算机配置 61 gt Windows设置 61 gt 安全设置 61 gt 软件限制策略 61 gt 右击 34 其他规则 34 61 gt 新建路径规则 61 gt 浏览到你要禁止
  • 将FTP文件夹映射到电脑本地使用,无需每次输入用户名及密码

    1 在资源管理器中 xff0c 右键我的电脑 xff0c 选择 添加一个网络位置 如图 右键我的电脑 2 下一步 xff0c xff08 如果本机未连接到因特网会有弹窗提示点击取消即可 xff09 xff0c 选择自定义网络位置 xff0c
  • 涂鸦智能设备接入homeassistant

    本文介绍怎么把涂鸦智能家居产品本地局域网接入开源智能家居平台homeassistant 1 手机端安装 涂鸦智能APP并添加好涂鸦智能家居产品 xff1b 2 打开第三方应用插件商店 HACS 下载local tuya插件 xff0c 重启
  • jdk版本问题(Unsupported major.minor version 52.0)

    在开发的时候遇到jdk版本不兼容的时候很闹心 xff0c 本来东西在自己的电脑 xff0c 自己的tomcat上都很正常 xff0c 但是把接口的导成war包发布给实施的时候 xff0c 就出现了问题 xff0c 之后实施的这群人真是啥也不
  • Home Assistant添加第三方zigbee网关来管控不同厂家的zigbee设备

    ZigBee 是一种 短距离 低功耗的无线通信协议 xff0c 广泛应用于物联网 xff0c 它 最大的优势是可以自动组网 xff0c 将信号范围内支持该协议的各设备连接到一起 xff0c 在这个自组网络中需要一个中心节点设备来管理整个Zi
  • windows系统整机迁移 克隆到新电脑 原来的应用软件都还在 无需重新安装

    固态硬盘 xff08 SSD xff09 的 存 取 速 度 快 xff0c 用 它 来 安 装 操 作 系 统 xff0c 对 电 脑 性 能 的 提 升 效 果 十分 明 显 xff0c 而 重 装 操 作 系 统 后 需 要 重 新
  • 虚拟服务器集群新建linux虚拟机模板操作步骤

    本文以新linux系统Ubuntu22 04为例 第一步 xff1a 上传镜像 第二步 xff1a 创建虚拟机 第三步 xff1a 安装操作系统 第四步 xff1a 将虚拟机转换成模板 第五步 xff1a 用模板创建虚拟机 第一步 xff1
  • 虚拟机安装教程 VMware Workstation 16 Pro

    VMware虚拟机能干什么 xff1f 它可以使你在一台机器上同时运行两个及以上的Windows LINUX系统 系统切换真正的秒切 xff01 你可以用虚拟机来进行各种测试或实验而不会影响到你的物理实体机 xff0c 极其方便 xff0c
  • Raspberry PI 外壳 铝合金支持Raspberry PI 3B+ & PoE HAT

    HOTe RPA 铝合金外壳 完美搭配最新的Raspberry PI 3B 43 amp PoE HAT en 题外话 最近 xff0c 随着3D软件的应用越来越熟练 xff0c 对于电子外壳的设计也越来越得心应手 最近的几个项目设计 xf
  • 有符号整数的移位操作(按其补码移位规则进行操作)

    知识点 算法运行时 xff0c 输入的整数 默认 情况下被计算机系统表示为 有符号整数 有符号整数的二进制表示中 xff0c 最高位为符号位 xff08 正整数为0 xff0c 负整数为1 xff09 xff0c 这也是有符号整数名称的由来
  • 判断是否为回文字符串 ← 栈

    问题描述 所谓 回文字符串 就是指正读反读均相同的字符序列 如 123a321 和 aba 均是回文 xff0c 但 abc 不是回文 通过 栈 这个数据结构我们将很容易判断一个字符串是否为回文 算法代码 include lt bits s
  • 判断N 数码是否有解 牛人总结 归并排序

    作者 力的博客 先介绍八数码问题 xff1a 我们首先从经典的八数码问题入手 xff0c 即对于八数码问题的任意一个排列是否有解 xff1f 有解的条件是什么 xff1f 我在网上搜了半天 xff0c 找到一个十分简洁的结论 八数码问题原始
  • Web服务器HTTP头信息公开 漏洞

    远程Web服务器通过HTTP标头公开信息 远程Web服务器发送的HTTP标头公开了可以帮助攻击者的信息 xff0c 例如Web服务器使用的服务器版本和语言 解决办法 修改Web服务器的HTTP头以不公开关于底层Web服务器的详细信息 服务器

随机推荐

  • Debian10 更换软件源 & 配置中文环境 & 安装中文输入法

    说明 xff1a 看了一下 xff0c 距离发布上篇文章都快半年了 x1f926 很抱歉这段时间由于各 wo 种 de 原 lan 因 duo 迟迟没有更文 xff0c 实际上我有不少东西准备和大家分享的 目前研一上学期已经结束 xff0c
  • Sublime Text 下载-设置切换中文版

    官方下载地址 xff1a Download Sublime Text Sublime Text设置中文版 1 打开Sublime Text xff0c 快捷键 Shift 43 Ctrl 43 P xff0c 输入 xff1a instal
  • Sublime Text 编译 GBK文件编码

    Shift 43 Ctrl 43 P xff0c 输入 xff1a install 选择 Package Control Install Package xff0c 选择后会自动安装 然后输入 Convert xff0c 选择Convert
  • 已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)

    数据库SQL Server 2008 R2 xff0c 网站突然登不了了 重启iis xff0c 重启数据库服务 xff0c 重启服务器都不行 解决方法 xff1a 打开SQL Server配置管理器 xff0c 找到MSSQLSERVER
  • Math.floor(Math.random()*3+1)

    Math random 获取0 1随机数 Math floor method rounds a number DOWNWARDS to the nearest integer and returns the result 小于等于 x xf
  • 定时打开或关闭服务器上的软件

    部署在服务器上的软件 xff0c 会莫名其妙的停止运行 xff0c 还必须得手动关闭重启 xff0c 太麻烦啦 xff01 在大神的建议下 xff0c 做一个让软件自动关闭进程 xff0c 然后重启的操作 废话少说 xff0c 上车 第一步
  • FFmpeg

    FFmpeg是一套可以用来记录 转换数字音频 视频 xff0c 并能将其转化为流的开源计算机程序 采用LGPL或GPL许可证 它提供了录制 转换以及流化音视频的完整解决方案 它包含了非常先进的音频 视频编解码库libavcodec xff0
  • 不懂PO 设计模式?这篇实战文带你 PO

    为UI页面写测试用例时 xff08 比如web页面 xff0c 移动端页面 xff09 xff0c 测试用例会存在大量元素和操作细节 当UI变化时 xff0c 测试用例也要跟着变化 xff0c PageObject 很好的解决了这个问题 x
  • archlinux 中文本地化配置

    参考 xff1a http www wiki org 本地化配置 xff0c 其实就是设置locale 一 显示中文 要显示中文 xff0c 需要生成中文语言包和安装中文字体 1 生成中文语言包 archlinux使用locale gen脚
  • 【Ubuntu】安装Go语言

    sudo apt install golang go version
  • linux系统中使用X11 获取系统窗体信息

    在X Window System中 xff0c 每个窗口都有一个唯一的标识符 xff0c 称为窗口ID 要查找特定窗口的ID号 xff0c 可以使用Xlib库中的XQueryTree函数来获取窗口树结构 xff0c 并遍历整个树结构以查找目
  • 三维重建:多点透视cvSolvePNP的替代函数(Code)

    xfeff xfeff 在调试JNI程序时 xff0c 所有的Shell都已经加载完成 xff0c 而唯一真正核心的cv SolvePnP却不能在JNI里面获得通行证 xff0c 经过反复测试都不能运行 xff0c 因此只能忍痛舍弃 xff
  • 利用Pycharm工具将Python+Qt项目打包成exe应用程序

    博客小白第一次发博客 xff0c 已参加工作 xff0c 仅用于记录一下自己空余时间学习Python的进程 xff0c 学习过程中遇到问题也借鉴了很多博客的解决办法 xff0c 因此也想记录下自己的遇到的问题 xff0c 希望对跟我一样刚起
  • BOSS 业务运营支撑系统

    今天又简单的介绍几个概念 xff0c 我觉得要深入了解某个技术 xff0c 首先要把概念搞清楚 xff0c 这样在宏观理解上将更加深入 本人工作所属电信行业 xff0c 所以下面所介绍的几个概念都是基于电信行业的 BSS Business
  • JAVA版本:判断101-200之间有多少个素数,并输出所有素数。

    题目 xff1a 判断101 200之间有多少个素数 xff0c 并输出所有素数 程序分析 xff1a 判断素数的方法 xff1a 用一个数分别去除2到这个数 xff0c 如果至少有一个数能被整除 xff0c 则表明此数不是素数 xff0c
  • arm64架构ubuntu18.04国内镜像源

    jetson xavier nx下换国内源 xff0c 步骤如下 xff1a span class token shebang important bin bash span span class token function cp spa
  • 安装和配置OpenStack客户端(Jesse翻译)

    xfeff xfeff 安装和配置 OpenStack 客户端 xff08 Jesse 翻译 xff09 原文来自 icehouse的OpenStack文档 回忆 xff1a 在前面部分 xff0c 你已经使用了 keystone 客户端
  • 联通家庭宽带光猫DDNS设置

    1 目前家里宽带光猫ppoe拨号获取的IP全部都是非公网IP 打96169宽带专家转人工客服申请更换公网IP 一天内会有专人联系 更换成公网IP后 重启光猫 在公司或者其他地方ping下家里光猫获取到的公网IP看下是否能ping通 2 申请
  • Matlab如何抓取excell表格里的指定数据

    每次从示波器上采集的数据总是会带有示波器的相关信息 xff0c 没法直接load到matlab里 xff0c 每次手动删除让人感到疲惫 xff0c 特别是数据量达到100 43 的时候 瞬间emmm 示波器采到的数据如下图 xff1a 于是
  • nginx更改进程名称 学习笔记

    如何更改进程名称 在进入正题之前 xff0c 我们需要了解一下以下参数的作用 xff1a span class token keyword int span span class token function main span span