位置: IT常识 - 正文

嵌入式 Linux进程间的通信--信号(linux嵌入式开发教程)

编辑:rootadmin
嵌入式 Linux进程间的通信--信号

目录

信号 

   信号的概述

信号类型

信号发送 

1、kill 函数

2、raise函数

3、pause函数 

信号处理 

推荐整理分享嵌入式 Linux进程间的通信--信号(linux嵌入式开发教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:嵌入式linux程序开发,linux进程处理与嵌入式linux进程处理区别,嵌入式linux程序,嵌入式linux程序,嵌入式linux程序,嵌入式linux进程状态转换图,嵌入式linux进程状态转换图,嵌入式linux进程状态转换图,内容如对您有帮助,希望把文章链接给更多的朋友!

可以结合上一篇文章一起看:

嵌入式 Linux进程之间的通信_丘比特惩罚陆的博客-CSDN博客

 信号    信号的概述

   软中断信号(signal,又简称为信号)用来通知进程发生了异步事件。简单来说,信号就是 给进程发送命令。比如结束命令 CTRL+C ,让进程无条件结束运行。我们也可以通过给进程发送 命令,让它执行相应的操作,通过 signal 函数实现。

   异步就是不需要特意等待某一信号到来,当信号来了时候(相当于软中断),会通知进程然后 执行相应操作。

   注意,信号只是用来通知某进程发生了什么事件,并不给该进程传递任何数据。 进程对信号的处理:

(1)捕获信号并处理

嵌入式 Linux进程间的通信--信号(linux嵌入式开发教程)

(2)忽略信号 SIGKILL SIGSTOP

(3)接收默认处理

  在进程表的表项中有一个软中断信号域,该域中每一位对应一个信号,当有信号发送给进程时, 对应位置位。由此可以看出,进程对不同的信号可以同时保留,但对于同一个信号,进程并不知道 在处理之前来过多少个。

信号类型

 

信号发送 1、kill 函数

2、raise函数

3、pause函数 

 

信号处理 

   当系统捕捉到某个信号时,可以忽略该信号或者用指定的函数处理,或者使用系统默认的方式。 信号处理的方式主要有两种,一种是使用简单的 signal 函数,另外一种是使用信号集函数组 sigaction。

函数原型sighandler_t signal(int signum, sighandler_t handler);功能信号的处理参数

signum:指明要处理的信号,它可以取除了 SIGKILL 和 SIGSTOP 外的任何一种信号 handler:描述了与信号关联的动作, 取值可以是以下三种: ② 函数地址:接收到对应的信号,就跳转到指定中断;

② SIG_IGN:忽略该信号; ③ SIG_DFL:采用系统默认处理;

返回值返回先前的信号处理函数指针,如果有错误则返回 SIG_ERR(-1)例程#include <signal.h>#include <stdio.h>#include <stdlib.h>#include <unistd.h>void my_func(int sign_no){ if(sign_no==SIGINT) printf("I have get SIGINT\n"); else if(sign_no==SIGQUIT) printf("I have get SIGQUIT\n");}int main(){printf("Waiting for signal SIGINT or SIGQUIT \n "); /*注册信号处理函数*/signal(SIGINT, my_func); /*CTRL -C*/signal(SIGQUIT, my_func);/*CTRL -\*/signal(SIGCHLD, SIG_IGN);/*SIGCHLD --子进程结束信号*/pause(); /*将进程挂起,知道有信号才退出*/exit(0);}
本文链接地址:https://www.jiuchutong.com/zhishi/300246.html 转载请保留说明!

上一篇:Mediapipe实战——导出身体节点坐标并用TensorFlow搭建LSTM网络来训练自己的手势检测模型再部署到树莓派4B(mediapipe objectron)

下一篇:周志华《机器学习》第三章课后习题

  • 什么是土地使用权终结
  • 增值税查询校验码是什么
  • 金蝶eas怎么用
  • 增值税包括哪些内容
  • 服务发票是增值税发票吗
  • 小规模转一般纳税人需要什么条件
  • 社团组织缴纳的社保
  • 在网上怎么预约办健康证
  • 收到退税如何记账
  • 小规模纳税人取的专票能抵扣吗
  • 应收账款未收到回函的替代程序
  • 免抵退税的计算数据
  • 开专票还要另外再交钱么
  • 网上报税费用如何抵扣账务怎么处理?
  • 进出口货物买卖合同
  • 物业公司营改增税务筹划方案
  • 风险纳税人原因查询
  • 学校应该缴纳的税
  • 企业或员工获得的相关荣誉
  • 损失性费用的会计科目有
  • 小规模税率还是1%吗
  • 税控设备 抵减
  • 王者荣耀中牛魔王的技能
  • 苹果电脑型号怎么查
  • 关于获得政府补助的公告
  • macbookpro任务栏
  • PHP json_encode() 函数详解及中文乱码问题
  • 关闭bios启动
  • php变量的基本概念
  • 支出的科目有哪些
  • php验证码扭曲效果怎么做
  • 结转本月完工产品的成本
  • 客户多付的货款叫什么
  • php同时使用session和cookie来保存用户登录信息的实现代码
  • yolov5使用
  • 2022前端面试题及答案
  • 健身房注册公司名称带超字
  • 分公司申请独立账户流程
  • 长期股权投资入账价值
  • 用工会经费给员工发工资
  • 跨年的发票可以退税吗
  • 不得开具增值税专用发票是什么意思
  • 事业单位会计准则与政府会计准则的区别
  • 百旺 税控盘
  • 公司活动举办属于哪个部门
  • 退税登记怎么办理
  • 存货抵债如何做分录
  • 股权转让是否需要全体股东签字
  • 营改增阶段
  • 企业收到的财政性补贴要交企业所得税吗
  • 银行业务冲正
  • 购车融资是什么意思
  • 建筑工程合同中社保基金保证金
  • sql server执行语句
  • linux安装openssh-server
  • window10打开rar文件
  • windows10下软件的app
  • win7如何设置电脑输入法
  • windows u盘不识别
  • win8激活失败
  • win7系统怎么备份文件
  • linux用root登录
  • js咋用
  • nodejs文件上传服务器
  • opengl 函数可以在子线程中调用吗
  • Node.js中的construct构造函数
  • android定时器的使用
  • 常用的js框架有哪些
  • shell脚本取n天前的日期
  • 充电显示调整差额是什么意思
  • js的判断类型
  • jquery的核心理念
  • 面向对象的三大特征
  • javascript七种数据类型
  • 支付给境外的特许权使用费
  • 我国税务师事务所有哪些
  • 广东电子发票开票软件?
  • 重庆准生证网上怎么申请领取
  • 个人股权转让是否增值了怎么判断
  • 古代怎样征兵
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设