- 4
- 0
- 约3.26千字
- 约 5页
- 2021-01-22 发布于天津
- 举报
实验一进程控制
一、 实验目的:
加深对进程概念的理解,明确进程和程序的区别;掌握Linux操作系统的进程创建和终 止操作,体会父进程和子进程的关系及进程状态的变化; 进一步认识并发执行的实质, 编写
并发程序。
二、 实验平台:
虚拟机:VMWare9以上
操作系统:Ubuntu12.04以上
编辑器:Gedit | Vim
编译器:Gcc
三、 实验内容:
(1)编写一段程序,使用系统调用 fork()创建两个子进程,当此程序运行时,在系统中
有一个父进程和两个子进程活动。让每一个进程在屏幕上显示“身份信息” :父进程显示
Parent process! PID=xxx1 PPID=xxx2 ;子进程显示Childx process! PID=xxx PPID=xxx 多运行几次,观察记录屏幕上的显示结果,并分析原因。
说明:
xxx1为进程号,用getpid()函数可获取进程号;
xxx2为父进程号,用 getppid()函数可获取父进程号;
Childx中x为1和2,用来区别两个子进程;
wait()函数用来避免父进程在子进程终止之前终止。
程序源码:
#includestdio.h
}
}
}
}
#includeunistd.h
#includestdlib.h
#define NUM 2
int main(void)
(
pid_t pid1,pid2;
if((pid仁fork())0){
printf(创建进程1失败);
}else{
if(pid1==0){
〃子进程1执行
printf(Child1 process: );
printf(PID=%d PPID=%d \n”,getpid(),getppid());
sleep(2);
}else{
if((pid2=fork())0){
printf(创建进程2失败);
}else{
if(pid2==0){ 〃子进程2执行
printf(Child2 process: );
printf(PID=%d PPID=%d \n,getpid(),getppid());
}
else{
〃父进程执行
wait();
wait();
printf(Parent process: );
printf(PID=%d PPID=%d \n,getpid(),getppid());
exit(0);
}
}
执行结果
whtcmiss@whtcmiss-Virtua IB ox:~/Desktop$ gcc testl.c -o test
whtcmiss@whtcmiss-Virtua lB ox:~/Desktop$ ./test
Child2 process: PID=2527 PPID=2525
Child1 process: PID=2526 PPID=2525
Parent process: PID=2525 PPID=2127
whtcmiss@whtcmiss-Virtua lB ox:~/Desktop$ ./test
Child2 process: PID=2530 PPID=2528
Child1 process: PID=2529 PPID=2528
Parent process: PID=2528 PPID=2127
whtcmiss@whtcmiss-Virtua lB ox:~/Desktop$ ./test
Child2 process: PID=2533 PPID=2531
Child1 process: PID=2532 PPID=2531
Parent process: PID=2531 PPID=2127
实验结果分析:
第一次程序运行结果,两个子进程的PPID都是2525,是由同一个进程创建。而父进程 PID是2525,父进程PPID是2127,说明父进程也是一系统进程的子进程。
第二次程序运行结果, 父进程PID是2528, PPID是2127,说明父进程是由同一进程创
建的,父进程也是以子进程的方式存在,且进程 ID是逐渐递增的。
(2) fork()和exec()系列函数能同时运行多个程序,利用上述函数将下面单进程顺序执行
的程序single.c改造成可并发执行3个进程的程序multi_process.c;并用time命令获取程序的执
行时间,比较单进程和多进程运行时间,并分析原因。
//single.c
#include stdio.h
#define NUM 5
int main(void)
{
void print_msg(char *m);
print_msg(Good );
print_msg(Morning );
print_msg(007\n”); 〃将007替换为本人学号
return 0;
)
voi
您可能关注的文档
- 最新多边形面积经典试题及答案汇编.docx
- 最新大班体育《有趣的轮胎》说课稿汇编.docx
- 最新天翼网关和天翼高清使用手册[1]汇编.docx
- 最新如何上好绘本阅读课汇编.docx
- 最新如何从咳嗽声判断小儿病情汇编.docx
- 最新如何发挥劳模创新工作室的辐射引领作用汇编.docx
- 最新如何推进教育均衡发展汇编.docx
- 最新如何树立大学生形象汇编.docx
- 最新如何理解门店经营指标汇编.docx
- 最新妇产科手术切口分类指引汇编.docx
- 2026年江苏省无锡市重点学校小升初入学分班考试数学考试试题及答案.docx
- 2026年英语培训机构客户满意度调查报告.docx
- 2026年中国有色金属行业价格波动特点及产业链利润分配机制研究报告.docx
- 2026年钙钛矿光伏在农业领域应用前景报告[001].docx
- 2026年坚果加工行业深加工消费者行为与市场拓展策略报告.docx
- 2026年新兴产业服务机器人技术发展瓶颈报告.docx
- 2026年社交电商行业市场竞争现状与发展趋势分析报告[001].docx
- 2026年全球染料行业绿色发展趋势洞察报告.docx
- 中医骨伤学中级相关专业知识之传染病学历年真题解析名师预测卷.docx
- 2026年餐饮业烧烤门店运营报告.docx
原创力文档

文档评论(0)