ubuntu系统入门lab

ubuntu系统入门lab

ID:39988592

大小:235.50 KB

页数:12页

时间:2019-07-16

ubuntu系统入门lab_第1页
ubuntu系统入门lab_第2页
ubuntu系统入门lab_第3页
ubuntu系统入门lab_第4页
ubuntu系统入门lab_第5页
资源描述:

《ubuntu系统入门lab》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、进程操作夏莹杰xtommy@163.comUbuntu网络配置进Windows找到IP、子网掩码、网关、DNS进入Ubuntu配置相关参数进程的创建一个父进程可以创建一个或多个子进程,这些进程共享内存中同一程序文本,但每个进程有自己的独立的数据和堆栈区。一个进程可以在任何时刻执行新的程序,并且在它的生命周期中运行几个程序。Linux提供了几个系统调用函数来创建和终止进程,以及在进程中执行新程序fork系统调用创建新进程exec系统调用执行一个新程序wait阻塞自身进程来等待指定的进程状态发生改变exit系

2、统调用终止进程Linux进程创建forkfork系统调用创建新进程调用fork的进程为父进程新进程是子进程子进程几乎就是父进程的完全复制。它的地址空间是父进程的复制,一开始也是运行同一程序fork系统调用为父子进程返回不同的值,对父进程返回子进程的pid号,对子进程返回的是0。execlp可以通过一个进程来启动新程序的执行一个进程一旦调用exec类函数,它本身就结束了。#includeintexeclp(char*cmd_path,char*cmd_name,char*arg1,cha

3、r*arg2,...,NULL);第一个参数是命令路径(含命令名),第二个参数是命令名,第三个参数以后是参数,最后一个参数是NULL。waitpid_twait(int*status)进程一旦调用了wait,就立即阻塞自己,由wait自动检测是否当前进程的某个子进程已经结束,如果找到了这样一个已经结束的子进程,wait会将它彻底销毁后返回;如果没有找到这样一个子进程,wait会一直阻塞。wait(NULL);不管子进程是如何结束,只在意它是否结束。exit#include voidex

4、it(intstatus);用来终止一个进程的。进程只要执行到exit系统调用,进程就会停止剩下的所有操作,清除包括PCB在内的各种数据结构。参数status,我们可以利用这个参数传递进程结束时的状态,0表示没有意外的正常结束;其他的数值表示出现了错误,进程非正常结束。#include#include#includeintmain(){pid_tpid;pid=fork();if(pid<0){fprintf(stderr,"forkfailed"

5、);exit(-1);}TestCase1elseif(pid==0){printf("ChildBegin");execlp("/bin/ls","ls",NULL);}else{wait(NULL);printf("ChildComplete");printf("ParentBegin");execlp("/bin/date","date",NULL);printf("ParentComplete");exit(0);}}#include#include

6、.h>#includeintvalue=5;intmain(){pid_tpid;pid=fork();if(pid==0){value+=15;printf(“Child:value=%d",value);}elseif(pid>0){wait(NULL);printf("PARENT:value=%d",value);exit(0);}}TestCase2Test五个学生一组建立一个子进程(1分)先让子进程输出当前所在位置(2分)再让父进程在当前目录下新建一个名为hise的

7、文件夹(2分)(Bonus)最后让父进程将程序源码文件(.C)拷贝到新建的hise文件夹(2分)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。