嵌入式day30

管道 --- 半双工通信方式

单工             //广播 --- 单一方向的数据通道

半双工         //对讲机 --- 同一时刻 只能有一个方向

全双工         //手机电话 --- 同一时刻两个方向都可以通信

无名管道 只能用于 亲缘关系进程间

有名管道

是一种特殊的文件

1.存在于 内存中

2.在系统中 有一个对应名称

3.看文件大小 0bytes

fifo

mkfifo   管道名

mkfifo

在指定的pathname路径 + 名称下创建一个权限为mode的有名管道文件

参数:

pathname         创建的有名管道路径+名字

mode         文件权限 //0666

返回值:

成功         返回0

失败         返回-1

信号

本身并不能传递大量数据,信号是一种异步的通信方式

同步与异步:

1、说明的对象一定是两个

2、如果步调一致,则为同步

如果步调不一致,则为异步

信号被称为软中断(---软件层面上---实现一个类似中断过程)

signal

信号处理函数的注册(安装)函数

参数:

signum         //要处理的信号的编号

注:

不能被阻塞,处理和忽略         SIGKILL         SIGSTOP

handler         //要对这个信号做怎样的处理 ---handler是一个函数指针,指向信号处理函数

                     //SIG_IGN ---忽略

                     //SIG_DFL ---默认操作

返回值:

成功         表示上一次设置的信号处理函数的入口地址

失败         SIG_ERR //表示失败

注:此处SIGNIT应为SIGINT

kill

通过该函数可以给pid进程发送信号为sig的系统信号

参数:

pid         要接受信号的进程pid

sig         当前程序要发送的信号编号

---------------------

嵌入式学习第三十天,今天学习了关于有名管道和信号这两种管道通信方式,有名管道即有名字的特殊的文件,其可以实现不同.c间的通信,而信号只能发出指定的信号,其中有两个较为特殊的信号,即SIGKILL         SIGSTOP,这两个不能被阻塞,处理和忽略。后面继续加油!

  • 11
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值