实验项目4.doc_第1页
实验项目4.doc_第2页
实验项目4.doc_第3页
实验项目4.doc_第4页
全文预览已结束

下载本文档

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

文档简介

实验项目4信号处理4.1 实验目的本次实验的主要目的是学习使用信号机制。4.2实验内容1、测试SIGCHLD信号;2、使用信号机制处理连接关闭;4.3基本概念1、 信号及信号处理信号:操作系统响应某些条件而产生的一个事件(软中断)。 信号是发送给进程的特殊消息,具有异步性。传递消息,调整程序行为;异步事件处理;信号的生成:异常, shell, 终端处理器, 进程间;信号的捕获, 响应及忽略。信号处理函数2、 Linux常见信号3、 信号及信号处理4、信号处理#include void ( *signal( int sig, void ( *func) ( int) ( int); sig: 目标信号; *func: 函数指针,指向处理目标信号的函数。 signal 函数将一个给定的函数和一个特定的信号联系5、子进程终止父进程捕捉到SIGCHLD信号,调用该信号的处理函数(可设定父进程不阻塞),若该处理函数中调用了wait系列函数完成子进程的最后清理工作,子进程不会成为僵尸进程4.4实验步骤 1、进入Linux编程环境;下载putty软件并按以下步骤登录远程主机。(1)运行putty就可以看到下面这个界面(2) 在Host Name 里输入IP地址49.123.81.251,并选择SSH协议。点击Open。(3) 输入所登录的主机的用户名和密码,即可进入Linux系统。(提示:输入密码时光标不会发生变化,输入完毕后按回车即可)2、 在当前环境下创建保存本次试验内容的文件夹。 (1)执行命令mkdir fourth 创建目录 (2)执行命令 ls 列出当前存在的目录,若有fourth存在,则创建成功 (3)执行命令cd fourth 进入创建的目录3、 通过nano编辑器编写头文件sigchld.c 执行命令 nano sigchld.c 创建sigchld.c文件。(提示:退出nano编辑器的方式为【Ctrl】+X,并按下Y即可保存修改,按下N则为不保存,直接退出)示例代码如下:#include#include#include#include/*本函数被调用时,说明父进程接收到SIGCHLD信号,有子进程退出*/void sigchld_handler(int sig)int state;printf(Catch SIGCHLD.n);int main()pid_t pid;signal(SIGCHLD,sigchld_handler);/设置信号处理函数/创建子进程if(pid=fork()0)/创建出错else if(pid=0)exit(0);/子进程退出elsepause();exit(0);4:显示实验结果执行命令:gcc sigchld.c -o main 对文件进行编译。执行命令:./main运行程序。实验结果显示:Catch SIGCHLD4.5实验验收方式1、 实验课签到为实验成绩的30%。若实验课当天有事情,可以在实验课开始之前向助教请假,无故旷课此部分成绩为零分。2、实验报告提交情况为实验成绩的40%本次试验的实验报

温馨提示

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

评论

0/150

提交评论