04 - 进程参数编程
创始人
2025-05-31 10:16:14
0

---- 整理自狄泰软件唐佐林老师课程

查看所有文章链接:(更新中)Linux系统编程训练营 - 目录

文章目录

  • 1. 问题
    • 1.1 再论execve(...)
    • 1.2 main函数(默认进程入口)
    • 1.3 进程空间概要图
    • 1.4 编程实验:进程参数剖析
      • 1.4.1 进程空间实验
      • 1.4.2 父子进程参数实验
    • 1.5 Linux启动参数(命令行参数)规范
      • 1.5.1 Linux启动参数(命令行参数)解析
      • 1.5.2 Linux启动参数(命令行参数)编程
      • 1.5.3 编程实验:进程参数编程
    • 1.6 思考

1. 问题

  • execve(…)的参数是什么?有什么意义?

在这里插入图片描述

1.1 再论execve(…)

在这里插入图片描述

1.2 main函数(默认进程入口)

  • int main(int argc, char* argv[])

在这里插入图片描述

1.3 进程空间概要图

在这里插入图片描述

1.4 编程实验:进程参数剖析

1.4.1 进程空间实验

在这里插入图片描述
在这里插入图片描述

1.4.2 父子进程参数实验

  • 下面的程序输出什么?why?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.5 Linux启动参数(命令行参数)规范

  • 选项、选项值、操作数 组成
    • 选项由短横线( - )开始,选项名必须是单个字母或数字字符
    • 选项可以有选项值,选项与选项值之间可用空格分隔( -o test 或者 -otest )
    • 如果多个选项均无选项值,可合而为一( -a -b -c 或者 -abc )
    • 既不是选项,也不能作为选项值的参数是操作数
    • 第一次出现的双横线( – )用于结束所有选项,后续参数为操作数

1.5.1 Linux启动参数(命令行参数)解析

  • 规则if:s ==> -i -s -f+选项值
  • 示例:
    在这里插入图片描述

1.5.2 Linux启动参数(命令行参数)编程

在这里插入图片描述

  • getopt(…) 从argc和argv中获取下一个选项

    • 选项 合法返回值选项字符optarg 指向 选项值字符串
      在这里插入图片描述
    • 选项 不合法返回字符“ ? ”,optopt 保存 当前选项字符(错误)
    • 选项 合法但缺少选项值返回“ : ”,optopt 保存 当前选项字符(错误)
  • 默认情况下:getopt(…)对argv进行重排,所有操作数位于最后位置
    在这里插入图片描述

  • optstring规则 的扩展定义
    起始字符可以是 “ :,+,- 或省略 ”

    • 省略:出现选项错误时,程序中通过“ : ”或“ ? ”进行处理并给出默认错误提示
    • ::错误提示开关,程序中通过返回值“ : ”或“ ? ”进行处理(无默认错误提示)
    • +:提前停止开关,遇见操作数时,返回 -1,认为选项处理完毕(后续都是操作数)
    • -:不重排开关,遇见操作数时,返回 1,optarg指向操作数字符串
    • 组合:“ +: ” or “ -: ”

1.5.3 编程实验:进程参数编程

  1. 规则:“ f:is ”

在这里插入图片描述
在这里插入图片描述

  1. 规则扩展:“ :f:is ”

在这里插入图片描述
在这里插入图片描述

  1. 规则扩展:“ +:f:is ”

在这里插入图片描述
在这里插入图片描述

  1. 规则扩展:“ -:f:is ”

在这里插入图片描述
在这里插入图片描述

1.6 思考

  • 环境变量是什么?有什么意义?

相关内容

热门资讯

原创 推... “从手到口,从口到心,中国人延续着对世界和人生特有的感知方式。只要点起炉火,端起碗筷,每个平凡的人,...
古贝春展位成德州新青年音乐节“... 大众网记者 张晓琳 徐瑞 德州报道 鼓点震动着夏夜热浪,数万名高举双臂的年轻人在音浪中舞动,古贝春的...
最优化算法 - 动态规划算法 动态规划算法简介 动态规划(Dynamic programming)是一...
璀璨烟花映山海——近万名游客赴... 当端午的艾草清香萦绕未散,六一的欢快童声已在浪尖跳跃。5月31日晚上,一场浪漫的烟花秀在海陵岛大角湾...
海陵岛:端午节偶遇“六一”节 ... 今年的端午佳节与“六一”儿童节不期而遇,传统文化与童趣时光奇妙邂逅,为端午假期旅游市场注入别样的活力...
C语言简单工厂模式和工程创建 一,设计模式概念引入① 什么是设计模式设计模式通常被面向对象的软件开发人员所采用&#x...
什么是软件测试?5分钟带你快速... 经常有人问我,你的公司是做什么的?我回答“软件测试”,看着...
Spring 远程加载配置 本文以携程的Apollo和阿里的Nacos为例。 pom中引入一下依赖: ...
四川安居端午游园会启幕 首日迎... 张勤宝 封面新闻记者 刘虎端午佳节,四川省遂宁市安居区节日氛围浓,人们体验端午民俗,感悟传统文化。在...
前端-http请求 目录:  (1)表单  (2)...
到四川旅游团建五天一般多少钱,... 标题:到四川旅游团建五天一般多少钱,驴友亲测!——与乐乐一起的难忘旅程 四川旅游推荐!当地导游-乐乐...
去四川旅游攻略小包团五日游报价... 标题:去四川旅游攻略小包团五日游报价亲测,跟着乐乐玩转天府之国! 四川旅游推荐!当地导游-乐乐:18...
上海6月1日入汛 6月1日,上海正式入汛,汛期历时四个月,将至9月30日结束。据气象部门此前发布的初步预测,2025年...
2023-DataWorks数...  DataWorks开发规范 1 数仓基本概念1.4.1 ods数据源层表命名规范1.4.2 dim...
一、基础算法4:高精度 模板题... 文章目录算法模板高精度加法模板高精度减法模板高精度乘低精度模板高精度除以低精度模板模板题高精度加法原...
原创 烙... #图文打卡计划#小时候最盼着奶奶做烙饼的日子。灶台边飘着面香,铁锅里滋啦作响,她总能用那双布满皱纹的...
椰泰新品上市丨餐桌有简胃,健康... 餐桌有简胃,健康又开味
jmeter公共数据维护 为什么要进行公共数据维护?数据维护的方法是?一、用户自定义变量添加一个用...
家常菜:素炒小油菜,非常适合夏... 嗨!大家好!我是懒懒,爱美食爱生活! 一名每天在思考吃什么的90后社畜,喜欢做饭的业余美食制作者,用...