除去僵尸进程实验报告_第1页
除去僵尸进程实验报告_第2页
除去僵尸进程实验报告_第3页
除去僵尸进程实验报告_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

综合性实验报告专业年级:班级:课程名称Linux/UNIX网络编程指导教师本组成员学号姓名实验地点实验时间项目名称除去僵尸进程实验类型综合性一、实验目的了解僵尸进程产生的三个条件,并分析程序是否能产生僵尸进程。了解除去僵尸进程的四种方法,并熟练应用。wait()函数除去程序中的僵尸进程。二、 总体设计(设计原理、设计方案及流程等)设计原理一个已经终止但是其父进程尚未对其进行善后处理的进程称为僵尸进程,既子进程结束,父进程未调用exit(),父进程没有处理SIGCHLD信号,要想除去僵尸进程需要破坏三个条件中的一个,父进程可以通过调用wait()函数获得子进程的终止函数,从而除去僵尸进程。本实验利用课本上“14.2服务器与单客户的连接处理”程序,除去程序中的僵尸进程。设计方案及流程(1)在linux的虚拟机上编写并调试程序。用ps-a-opid,ppid,state,command命令查看是否产生了僵尸进程在程序中添加wait()函数并调试运行再次用ps-a-opid,ppid,state,command命令查看是否消除了僵尸进程三、 实验步骤(包主要步骤、代码分析等)(1)在linux的虚拟机上打开终端用vim编译器编写服务器端的文件server.c,调试并用gcc-oserverserver.c编译程序。编译成功之后用./server命令运行程序。打开另一个终端用vim编译器编写客户端文件client.c,调试并用gcc-oclientclient.c编译程序。编译成功后用./client127.0.0.1运行程序(因为客户端的输入用汉语的话一直输出的是乱码,所以客户端输出的是英文)如下图所示:[mandrivttfllDcalhDst借尸■透程H./client127.0.0.1ServerMessage:务器.Inputyourname;f?jInputmessage(maxcharhowServermessage:norInputiiHssage(niiaxchar:10^0):areServermessage:eraInputmessag&(maxchar:t0B0):youServermessage:uo^InputnessagefnaxcharHBBS)[Biandri?a@localhost僵尸进瑕]$[[■andriva?Idealhost伺尸进程杼./server你有一个连接来但i?7^,g/i客户端窑字为fzh接賀到壽户端的信息信息:h叭*授哽到客户端的佶息<fzl>信息iwhat接受到客户端的倍息汀叽〉倍息:四u客户端:鬥1笑囲连搖. ||再打开一个终端输入ps-a-opid,ppid,state,command命令查看进程的情况,如下图所示,第一个是客户端服务器都在运行,第二个是客户端已经断开连接,可以看出程序中已经产生僵尸进程。在server.c的程序中加入wai()函数,如下图:⑴{::((connectfd=accept(li?terrM』(9trmtsockaddr*)ficlient,&sin_size))==-!)perror(nAccept^g, *exit(-l);}if((pid=fork(:oir;(pid=wait(&stat))>0;){prinH("{S尸进程已除”);closefcornectfd);continue^}(pid=-0){closedistenfcl);process_client(connectfd-client);exiMDj}讯“ 50^再次运行server.c和client.c文件,并用ps-a-opid,ppid,state,command命令查看进程的状态,如下图可知程序中已经没有僵尸程序。(6)截图,撰写实验报告,另附实验代码client.cserver.c四、结果分析与总结本实验老师在课堂上详细讲解了除去僵尸进程的四种方法:父进程结束exit()型号,利用wait()函数,利用waitpid()函数,让父进程死亡,子进程成为孤儿进程。我利用的是wait()函数让父进程接受SIGCHLD信号,在做到客户

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论