linux环境下命令行解释器sh小例.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
linux环境下命令行解释器sh小例linux环境下命令行解释器sh小例

西 安 邮 电 大 学 《进程和程序:编写命令解释器sh》 课程名称: 专 业: 学生学号: 学生姓名: 目 录 一、进程与程序 2 二、进程的理解 2 2.1 进程结构理解 2 三、 shell 运行程序的方式 4 3.1 shell的主循环 4 3.2 一个程序建立、运行另一个程序,以及退出程序 5 3.2.1 一个程序运行另一个程序的方式: exec函数。 5 3.2.2 一个程序创建另一个程序的方式: fork函数。 6 3.2.3 父进程在执行子进程退出后,继续执行的方式: wait函数 7 3.2.4 shell运行程序 7 四、 实例演练:实现psh2.c 8 4.1 步骤分析: 8 4.2 程序流图 9 4.3 核心代码 10 一、进程与程序 可执行程序是一个机器指令及其数据的序列,一个进程则是程序运行时的内存空间和设置。程序是静止的进程是动态的。进程包括程序和程序处理的对象(数据集)。进程能得到程序处理的结果。进程和程序并非一一对应的。 程序运行在不同的数据集上就构成了不同的进程。通常把进程分为系统进程和用户进程两大类。把完成操作系统功能的进程就称为系统进程,而完成用户功能的进程则称为用户进程。进程数据结构,Linux的进程控制块为一个由结构task_struct所定义的数据结构,这个结构就在上面的sched.h中。这个文件中有一行代码: 、进程组、会话组、控制终端进程组,会话组的概念出现是为了linux方便管理的,主要是为了作业控制的。最常见的就是在终端上发送一个中断信号(crtl+c),这个中断信号会发送到控制终端的前台进程组。简单说,进程组是一个或者多个进程的集合,而会话(session)是一个或者多个进程组的集合。 shell 运行程序的方式 要写一个shell,我们必须明白: 如何建立一个程序 如何运行一个程序 等待exit() 3.1 shell的主循环 Shell的主循环体可以用以下伪代码表示: while( 输入结束 ) { 获取命令; 执行命令; 等待命令结束; } 其时间流图用下图表示: 3.2 一个程序建立、运行另一个程序,以及退出程序 3.2.1 一个程序运行另一个程序的方式: exec函数。 exec 系统调用从当前进程中把当前 程序的机器指令全部清除,然后在空的 进程中载入调用时指定的程序代码,最 后运行这个程序“ls”,arglist)时,内 核将新进程载入进当前指令,替代了当 前代码,如同换脑。如右图所示: 。 exec调整进程的内存分配,使之适 应新的程序对内存的要求,相同进程, 不同的内容。 fork正是解决shell只能运行一条命令这个问题所需要的.使用fork,不但能够创建新的进程,而且能够分辨原来的进程个创建的进程.新的进程能调用execvp来执行任何拥护指明的程序 3.2.3 父进程在执行子进程退出后,继续执行的方式: wait函数 shell用wait等待新进程的结束。wait系统调用同时从内核取得退出状态或者信号序号以告知子进程是如何结束的 3.2.4 shell运行程序 shell解释器的作用就是对用户输入的命令进行“解释”,有了它,用户才可以在linux系统中任意挥洒。没有它的帮助,你纵然十八般本领在身,也施展不出。

文档评论(0)

ganqludp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档