进程管理实验

进程管理实验

ID:21548217

大小:72.00 KB

页数:11页

时间:2018-10-22

进程管理实验_第1页
进程管理实验_第2页
进程管理实验_第3页
进程管理实验_第4页
进程管理实验_第5页
资源描述:

《进程管理实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验三Linux进程基本管理与控制一、实验目的1)通过在linux环境下对进程的基本操作,感性认识进程并区分与程序的区别2)进一步认识并发进程的概念,区别顺序执行和并发执行3)分析进程争用临界资源的现象,学习解决进程互斥的方法二、实验工具Windows2000下虚拟机运行Linux三、实验内容1)打开终端输入进程查看命令ps,熟悉其参数2)kill命令用于删除指定进程3)用系统调用fork.c创建进程编程1.程序代码#include#include#includeintmain(){int

2、pid1,pid2;printf("a");if((pid1=fork())<0){printf("Childfailcreate!");return1;}elseif(pid1==0){printf("b");return;}if((pid2=fork())<0){printf("Child2failcreate!");return1;}elseif(pid2==0){printf("c");return;}}2.程序代码#include#include#include

3、>intmain(){intpid1,pid2;printf("ParentProcess:a");if((pid1=fork())<0){printf("Childfailcreate");return1;}elseif(pid1==0){printf("Thisischild1(pid=%d)process:b",getpid());return;}if((pid2=fork())<0){printf("Child2failcreate!");return1;}elseif(pid2==0){printf("Thisischild2(p

4、id=%d)process:c",getpid());return;}}3、程序代码#include#include#includeintmain(void){intpid1,pid2;lockf(1,1,0);printf("ParentProcess:a");lockf(1,1,0);if((pid1=fork())<0){printf("child1failcreate");return1;}elseif(pid1==0){lockf(1,1,0);printf("Thi

5、schild1(pid=%d)process:b",getpid());lockf(1,0,0);return;}if((pid2=fork())<0){printf("child2failcreate");return1;}elseif(pid2==0){lockf(1,1,0);printf("Thisischild2(pid=%d)process:c",getpid());lock(1,0,0);return;}}1)修改用系统调用fork.c创建子进程,并让进程运行新的程序如,程序一中子进程1运行“ls–l”;子程序2运行“cat/

6、etc/passwd”;一、实验结果记录各个程序执行结果二、实验分析总结三、参考四、实验指导1.gcc编译器GNUC编译器(GCC)gcc[options][filenames]不用任何选项编译一个程序时,GCC将会建立(假定编译成功)一个名为a.out的可执行文件.例如,gcctest.c将在当前目录下产生一个叫a.out的文件:用-o编译选项来为将产生的可执行文件指定一个文件名来代替a.out:gcc-ocountcount.c   注意:当你使用-o选项时,-o后面必须跟一个文件名.2.Linux进程创建相关的系统调用(1)fork()创建一个新

7、的子进程。其子进程会复制父进程的数据与堆栈空间,并继承父进程的用户代码、组代码、环境变量、已打开的文件代码、工作目录和资源限制。系统调用格式:intfork()如果Fork成功则在父进程会返回新建立的子进程代码(PID),而在新建立的子进程中则返回0。如果fork失败则直接返回-1。(2)getpid()取得目前进程的识别码(进程ID),许多程序利用取到的此值来建立临时文件,以避免临时文件相同带来的问题。系统调用格式:intgetpid()例如:#includemain(){printf(“pid=%d”,getpid());}

8、(3)getppid取得目前进程的父进程识别码。系统调用格式:intgetppid()例如:#

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

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

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