C语言:22信号.pptVIP

  • 6
  • 0
  • 约2.35千字
  • 约 11页
  • 2016-12-14 发布于河南
  • 举报
信号介绍 信号是软中断,是异步编程的工具 指示有事件发生 分辨不出同一信号是否多次发生 可以控制进程对信号的反应 信号定义为正整数常量(1-31),SIGXXXX Linux支持31个信号 /usr/include/bits/signum.h kill -l 用户可以利用SIGUSR1和SIGUSR2来自定义信号 fork产生新进程的时候,会继承父进程的信号处理 信号发生原因 执行错误 SIGFPE:浮点运算出错 SIGSEGV:段错误 中断发生 SIGKILL:强制程序退出 SIGINT:control-c 事件发生 SIGALRM:计时器到时间 SIGCHLD:子进程结束 I/O事件 SIGURG:网络紧急事件 SIGPIPE:管道破坏 信号处理 信号处理是异步编程,信号随时可能发生 进程需要事先告诉内核信号发生后的处理方法 开始时使用默认的处理方法 信号处理函数 安装处理函数的过程称为捕获信号 信号处理方式 忽略信号 SIGKILL SIGSTOP除外,严重错误后果不可预料 结束进程,或发生核心转储 停止进程,以后可能被重新启动 使用信号处理函数捕获信号 SIGKILL SIGSTOP除外 SIGKILL 和 SIGSTOP不能被忽略或用户处理 信号处理 void (*signal(int signo, void (*func)(int)))(int); typed

文档评论(0)

1亿VIP精品文档

相关文档