进程相关的系统调用

进程相关的系统调用

ID:40895830

大小:259.50 KB

页数:6页

时间:2019-08-10

进程相关的系统调用_第1页
进程相关的系统调用_第2页
进程相关的系统调用_第3页
进程相关的系统调用_第4页
进程相关的系统调用_第5页
资源描述:

《进程相关的系统调用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验2进程相关的系统调用实验目的学习Linux中与进程控制相关的系统调用,加深对进程、进程树等概念的理解。实验内容1.学习使用以下几类系统调用,进行编程练习l获取进程的信息,getpid(),getppid()l父子进程控制,fork(),wait()2.学习熟练地使用程序的编辑vi,编译gcc,运行3.学习熟练地使用ps命令观察进程的状态及其关系4.选做:使用联机手册man,查看上述系统调用的完整指南实验步骤l完成以下4个实验样例程序的编辑、编译、运行和观察。l通过联机手册,深入学习相应的系统调用。l对4

2、个样例程序进行自主改造和实验,或者构造新的程序进行实验。6(1)程序getpid.c1.输入程序vigetpid.c2.编译连接gccgetpid.c–ogetpid3.后台运行./getpid&4.使用ps–l查看进程状态,验证getpid()和getppid()系统调用,注意父子进程的关系。5.(选做)使用man2getpid命令,查看getpid()系统调用的联机手册。6(2)程序fork.c1.先考虑一下,程序的输出结果是什么。2.输入程序vifork.c3.编译连接gccfork.c–ofork4

3、.运行./fork注意观察程序的输出5.验证自己原先的想法是否正确,想一想为什么。6.(推荐)使用man2fork命令,查看fork的联机手册。6(3)程序mfork.c1.先考虑一下,程序的输出结果是什么。2.输入程序vimfork.c3.编译连接gccmfork.c–omfork4.运行./mfork注意观察程序的输出5.每隔几秒到十秒钟,反复使用ps-l命令观察。想想为什么。注意./mfork进程的父进程号为1号进程。为什么?6(4)程序fork_wait.c1.先考虑以下,程序的执行结果是什么。2.

4、输入程序vifork_wait.c3.编译连接gccfork_wait.c–ofork_wait4.后台运行./fork_wait&5.反复使用ps–l命令查看运行情况,注意父子进程关系;注意观察子进程退出,然后父进程退出的过程。6.(选做)使用man命令查看系统调用wait()的联机手册。61.进程控制的系统调用lfork系统调用创建新的子进程格式:pid=intfork()fork调用返回时,系统中已有两个用户级环境完全相同的进程存在,这两个进程从fork调用中得到的返回值不同,其中子进程得到的返回值为

5、零,父进程得到的返回值是新创建子进程的进程标识号。lexec系统调用格式:(六种)intexecl(path,arg0,arg1,…,argn,(char*)0)char*path,*arg0,*arg1,…,*argn;exec调用进程的正文段被指定的目标文件的正文段所覆盖,其属性的变化方式与fork成功后从父进程那里继承属性的方式几乎是一样的。系统中绝大多数命令都是通过exec来执行的,不但shell进程所创建的子进程使用它来执行用户命令,shell进程本身和它的祖先进程也是用exec来启动执行的。le

6、xit系统调用终止进程执行格式:voidexit(status)intstatus;参数status是调用进程终止时传递给其父进程的值。如调用进程还有子进程,则将其所有子进程的父进程改为1号进程。lwait系统调用等待子进程暂仃或终止格式:intwait(stat_loc)intwait((int*)0)intstat_loc;wait调用将调用进程挂起,直到该进程收到一个被其捕获的信号或者它的任何一个子进程暂仃或终止为止。如果wait调用之前已有子进程暂仃或终止,则该调用立即返回。llockf锁定文件格式

7、:intlockf(fd,fuction,size)intfiles,fuction;longsize;fd–锁定文件标识function=0不锁定表示=1锁定=2测试和锁定=3测试有否被锁定size--锁定或解锁的字节数,0表示从文件的当前位置到文件尾。6

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

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

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