欢迎来到天天文库
浏览记录
ID:44705529
大小:138.50 KB
页数:9页
时间:2019-10-25
《09_实验6 编写多进程程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、宁德师范学院计算机系实验报告(2015—2016学年第二学期)课程名称嵌入式操作系统(Linux)实验名称实验6编写多进程程序专业计算机科学与技术(专升本)年级15级组号09______成员1学号B2015102320成员1姓名陈朋朋成员2学号B2015102323成员2姓名林振贤指导教师黄进华实验日期2016-5-16实验目的与要求:通过编写多进程程序,使大家熟练掌握fork、exec、wait、waitpid等函数的使用,进一步理解在Linux中多进程编程的步骤。实验设备(环境):每组一台安装VMw
2、areWorkstation的计算机。实验内容:该实验有3个进程,其中一个为父进程,其余两个是该父进程创建的子进程,其中一个子进程运行“ls-l”指令,另一个子进程在暂停5s之后异常退出,父进程并不阻塞自己,并等待子进程的退出信息,待收集到该信息,父进程就返回。实验步骤:1、/*daemon_proc.c*/#include#include#include#include#include#incl
3、udeintmain(void){pid_tchild1,child2;inti;child1=fork();if(child1==1){perror("child1fork");exit(1);}elseif(child1>0){exit(0);}openlog("daemon_proc_info",LOG_PID,LOG_DAEMON);setsid();chdir("/");umask(0);for(i=0;i4、ild2=fork();if(child2==1){perror("child2fork");exit(1);}elseif(child2==0){syslog(LOG_INFO,"child2willsleepfor10s");sleep(10);syslog(LOG_INFO,"child2isgoingtoexit!");exit(0);}else{waitpid(child2,NULL,0);syslog(LOG_INFO,"child1noticedthatchild2hasexited");5、closelog();while(1){sleep(10);}}}2、/*dameon.c创建守护进程实例*/#include#include#include#include#include#include#includeintmain(){pid_tpid;inti,fd;char*buf="ThisisaDaemon";pid=fork();if(pi6、d<0){printf("Errorfork");exit(1);}elseif(pid>0){exit(0);}openlog("demo_update",LOG_PID,LOG_DAEMON);setsid();chdir("/");umask(0);for(i=0;i7、O_WRONLY8、O_APPEND,0600))<0){printf("9、Openfileerror");exit(1);}write(fd,buf,strlen(buf)+1);close(fd);sleep(10);}exit(0);}3、实验结果分析实验总结(包括过程总结、心得体会及实验改进意见等):通过编写多进程程序,使我们更加熟练掌握fork、exec、wait、waitpid等函数的使用,进一步理解在Linux中多进程编程的步骤。指导教师评语:成绩评定教师签字黄进华2016年5月29日备注:注:1、报告内的项目或设置,可根据实际情况加以补充和调整2、教师批改学10、生实验报告应在学生提交实验报告10日内
4、ild2=fork();if(child2==1){perror("child2fork");exit(1);}elseif(child2==0){syslog(LOG_INFO,"child2willsleepfor10s");sleep(10);syslog(LOG_INFO,"child2isgoingtoexit!");exit(0);}else{waitpid(child2,NULL,0);syslog(LOG_INFO,"child1noticedthatchild2hasexited");
5、closelog();while(1){sleep(10);}}}2、/*dameon.c创建守护进程实例*/#include#include#include#include#include#include#includeintmain(){pid_tpid;inti,fd;char*buf="ThisisaDaemon";pid=fork();if(pi
6、d<0){printf("Errorfork");exit(1);}elseif(pid>0){exit(0);}openlog("demo_update",LOG_PID,LOG_DAEMON);setsid();chdir("/");umask(0);for(i=0;i7、O_WRONLY8、O_APPEND,0600))<0){printf("9、Openfileerror");exit(1);}write(fd,buf,strlen(buf)+1);close(fd);sleep(10);}exit(0);}3、实验结果分析实验总结(包括过程总结、心得体会及实验改进意见等):通过编写多进程程序,使我们更加熟练掌握fork、exec、wait、waitpid等函数的使用,进一步理解在Linux中多进程编程的步骤。指导教师评语:成绩评定教师签字黄进华2016年5月29日备注:注:1、报告内的项目或设置,可根据实际情况加以补充和调整2、教师批改学10、生实验报告应在学生提交实验报告10日内
7、O_WRONLY
8、O_APPEND,0600))<0){printf("
9、Openfileerror");exit(1);}write(fd,buf,strlen(buf)+1);close(fd);sleep(10);}exit(0);}3、实验结果分析实验总结(包括过程总结、心得体会及实验改进意见等):通过编写多进程程序,使我们更加熟练掌握fork、exec、wait、waitpid等函数的使用,进一步理解在Linux中多进程编程的步骤。指导教师评语:成绩评定教师签字黄进华2016年5月29日备注:注:1、报告内的项目或设置,可根据实际情况加以补充和调整2、教师批改学
10、生实验报告应在学生提交实验报告10日内
此文档下载收益归作者所有