• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

~纯净~

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

20201302姬正坤第六章学习笔记

Linux第六章——信号和信号处理

一、信号和中断

  • 人员中断
  • 进程中断
  • 硬件中断
  • 进程的陷阱错误

二、Unix/Linux中的信号处理

1、信号的来源

  • 来自硬件中断的信号
  • 来自异常的信号
  • 来自其他进程的信号

2、信号处理函数

每个进程PROC都有一个信号处理函数int sig[32]。sig[32]数组的每个条目都指定了如何处理相应的信号。

3、安装信号捕捉函数signal()->POSIX sigaction()

  • 在执行已安装的信号捕捉函数之前,通常将信号处理函数重置为DEFault。
  • signal()不能阻塞其他信号。
  • signal()只能向捕捉函数发送一个信号编号。
  • signal()可能不适用于多线程程序中的线程,sigaction()适用于线程。
  • 不同Unix版本的signal()可能会有所不同。

三、信号处理步骤

  • 当某进程处于内核模式时,会检查信号并处理未完成的信号
  • 重置用户安装的信号捕捉函数:用户安装的陷阱相关信号捕捉函数用于处理用户代码中的陷阱错误
  • 信号和唤醒:在Unix/Linux内核中有两种SLEEP进程(深度、浅度)

四、Linux中的IPC

  • 管道和FIFO
  • 信号
  • System V IPC
  • POSIX消息队列
  • 线程同步机制
  • 套接字

posted on 2022-10-30 20:50  ~纯净~  阅读(33)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3