- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
### ARGC ### 3? ### ARGV ### ./main -xx 000? ### ENVP ### PWD=/home/jkx … HOSTNAME=localhost.localdomain … USER=jkx … SHELL=/bin/bash … HOME=/home/jkx 总结:进程的一生 随着一句fork,新进程呱呱落地,但此时这个新进程只是老进程的一个克隆 然后随着exec,新进程脱胎换骨,离家独立,开始了为人民服务的职业生涯 人有生老病死,进程也一样 自然死亡:运行到main函数的最后一个“}”,从容离去 自杀,进程自杀有2种方式 调用exit函数,一种是在main函数内使用return 无论哪一种方式,它都可以留下遗书,放在返回值里保留下来 被谋杀,被其它进程通过另外一些方式结束生命 进程死后,会留下一具僵尸,wait和waitpid充当了殓尸工,把僵尸推去火化,使其最终归于无形 人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。 ”通过阅读科技书籍,我们能丰富知识, 培养逻辑思维能力; 通过阅读文学作品,我们能提高文学鉴赏水平, 培养文学情趣; 通过阅读报刊,我们能增长见识,扩大自己的知识面。 有许多书籍还能培养我们的道德情操, 给我们巨大的精神力量, 鼓舞我们前进。 * 实验五 Linux进程管理 进程的一生 实验目的 熟悉进程及进程控制等基本概念在Linux操作系统中的实现 利用Linux提供的系统调用函数/库函数实现进程管理 实验准备及预习 阅读讲义《附件6, Linux进程管理》,理解进程在其生命周期中的主要状态及有关操作命令和函数:ps、fork()、exit()、sleep()和wait() 进程简介 问题1:单CPU计算机上在一个时间片断内只能执行一条指令,那么Linux是如何实现多进程同时执行的呢? Linux使用了一种称为“进程调度(process scheduling)”的手段 为每个进程指派一定的运行时间(这个时间通常很短,通常以毫秒为单位),然后依照某种规则,从众多进程中挑选一个投入运行,其他的进程暂时等待 当正在运行的那个进程时间耗尽,或执行完毕退出,或因某种原因暂停,Linux就会重新进行调度,挑选下一个进程投入运行 每个进程占用的时间片都很短,从使用者的角度来看,就好像多个进程同时运行一样 在Linux中,每个进程在创建时都会被分配一个数据结构,称为进程控制块(Process Control Block,简称PCB),PCB中包含了很多重要的信息,供系统调度和进程本身执行使用,其中最重要的莫过于进程ID(process ID) 进程ID也被称作进程标识符,是一个非负的整数,在Linux操作系统中唯一地标志一个进程,在最常使用的i386架构(即PC使用的架构)上,一个非负的整数的变化范围是0-32767,这也是所有可能取到的进程ID 从进程ID的名字可看出,它是进程的身份证号码,每个进程的进程ID不会相同 ps命令 ps命令的常用选项 l:以长格式显示进程信息 ef:显示系统中所有进程的全面信息 aux:显示所有终端上所有用户进程的所有信息 ps命令是查看进程状态的最常用的命令,可以提供关于进程的许多信息。根据显示的信息可以确定哪个进程正在运行、哪个进程被挂起、进程已运行多长时间、进程正在使用的资源、进程的相对优先级,以及进程的标识号(PID)等信息 ps命令各输出项的含义为: S(state):进程状态,其中R表示运行状态;S表示休眠状态;T表示暂停或终止状态;Z表示僵死状态 UID(User ID):进程启动者的用户ID PID(ProcessID):进程号 PPID:父进程的进程号 NI(Nice):进程的优先级值 SZ(Size):进程占用内存空间的大小,以KB为单位 TTY:进程所在终端的终端号,其中桌面环境的终端窗口表示为pts/0,字符界面的终端号为tty1~tty6. TIME:进程累计使用的CPU时间 CMD:启动进程的shell命令 fork 2.4.4版内核中,fork是第2号系统调用,函数库中的原型是: ???? #includesys/types.h /* 提供类型pid_t的定义 */ ???? #includeunistd.h /* 提供函数的定义 */? ???? pid_t fork(void);? fork系统调用的作用是复制一个进程。当一个进程调用它,完成后就出现两个几乎一模一样的进程,由此得到了一个新进程 Linux中创造新进程的方法只有fork系统调用,其他一些看起来似乎也能创建新进程库函数,实际上也在内部调用了fork;包括在命令行下运行应用程序,新进程也是
文档评论(0)