收藏 分销(赏)

进程相关的系统调用.doc

上传人:xrp****65 文档编号:8995983 上传时间:2025-03-10 格式:DOC 页数:6 大小:259.50KB
下载 相关 举报
进程相关的系统调用.doc_第1页
第1页 / 共6页
进程相关的系统调用.doc_第2页
第2页 / 共6页
点击查看更多>>
资源描述
实验2 进程相关的系统调用 实验目的 学习Linux中与进程控制相关的系统调用,加深对进程、进程树等概念的理解。 实验内容 1. 学习使用以下几类系统调用,进行编程练习 l 获取进程的信息,getpid(), getppid() l 父子进程控制,fork(),wait() 2. 学习熟练地使用程序的编辑vi,编译gcc,运行 3. 学习熟练地使用ps命令观察进程的状态及其关系 4. 选做:使用联机手册man,查看上述系统调用的完整指南 实验步骤 l 完成以下4个实验样例程序的编辑、编译、运行和观察。 l 通过联机手册,深入学习相应的系统调用。 l 对4个样例程序进行自主改造和实验,或者构造新的程序进行实验。 (1) 程序getpid.c 1. 输入程序 vi getpid.c 2. 编译连接 gcc getpid.c –o getpid 3. 后台运行 ./getpid & 4. 使用 ps –l 查看进程状态,验证getpid()和getppid()系统调用,注意父子进程的关系。 5. (选做)使用 man 2 getpid命令,查看getpid()系统调用的联机手册。 (2)程序fork.c 1. 先考虑一下,程序的输出结果是什么。 2. 输入程序 vi fork.c 3. 编译连接 gcc fork.c –o fork 4. 运行 ./fork 注意观察程序的输出 5. 验证自己原先的想法是否正确,想一想为什么。 6. (推荐)使用man 2 fork命令,查看fork的联机手册。 (3)程序mfork.c 1. 先考虑一下,程序的输出结果是什么。 2. 输入程序 vi mfork.c 3. 编译连接 gcc mfork.c –o mfork 4. 运行 ./mfork 注意观察程序的输出 5. 每隔几秒到十秒钟,反复使用 ps -l 命令观察。想想为什么。 注意./mfork进程的父进程号为1号进程。为什么? (4)程序fork_wait.c 1. 先考虑以下,程序的执行结果是什么。 2. 输入程序 vi fork_wait.c 3. 编译连接 gcc fork_wait.c –o fork_wait 4. 后台运行 ./fork_wait & 5. 反复使用ps –l命令查看运行情况,注意父子进程关系; 注意观察子进程退出,然后父进程退出的过程。 6. (选做)使用man命令查看系统调用wait()的联机手册。 6 1. 进程控制的系统调用 l fork系统调用创建新的子进程 格式: pid=int fork() fork调用返回时,系统中已有两个用户级环境完全相同的进程存在,这两个 进程从fork调用中得到的返回值不同,其中子进程得到的返回值为零,父进程 得到的返回值是新创建子进程的进程标识号。 l exec系统调用 格式:(六种) int execl(path,arg0,arg1,…,argn,(char *)0) char *path, *arg0, *arg1, …, *argn ; exec调用进程的正文段被指定的目标文件的正文段所覆盖,其属性的变化方 式与fork成功后从父进程那里继承属性的方式几乎是一样的。系统中绝大多数 命令都是通过exec来执行的,不但shell进程所创建的子进程使用它来执行用户 命令,shell进程本身和它的祖先进程也是用exec来启动执行的。 l exit 系统调用终止进程执行 格式:void exit(status) int status ; 参数status是调用进程终止时传递给其父进程的值。如调用进程还有子进 程,则将其所有子进程的父进程改为1号进程。 l wait 系统调用等待子进程暂仃或终止 格式:int wait(stat_loc) int wait((int *)0) int stat_loc ; wait 调用将调用进程挂起,直到该进程收到一个被其捕获的信号或者它的任 何一个子进程暂仃或终止为止。如果wait 调用之前已有子进程暂仃或终止,则 该调用立即返回。 l lockf 锁定文件 格式:int lockf(fd,fuction,size) int files, fuction; long size; fd – 锁定文件标识 function=0不锁定表示 =1锁定 =2测试和锁定 =3测试有否被锁定 size --锁定或解锁的字节数,0表示从文件的当前位置到文件尾。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服