有名管道和信号

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

A.c      B.c

|            |

A          B

有名管道

fifo:先入先出

创建有名管道:makepipe

1.是一种特殊文件

a.存在于 内存中

b.在系统中,有一个对应的名称

c.看文件的大小 0bytes

pathname :创建出的管道文件的文件名

Mode:权限

总结:

1.有名管道 特殊文件,但是在系统中有一个名字

2.有名管道 可以用于 任意进程间通信

3.有名管道 操作 符合 前面管道操作特点

4.管道中数据 遵循fifo的读写规则

5.管道文件 都不支持定位操作 lseek fseek

信号:

本身并不能传递大量数据

信号是一种异步的通信方式

同步:

异步:

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

//2、如果,步调一致 ----同步

如果,步调不一致 -----异步

信号(软中断)

信号 被称为 软中断 (软件层面 对中断过程的一种模拟)

编程:

signal():

sighandler_t signal(int signum,sighandler_t handler)

功能:

信号处理函数的 注册函数

参数:

signum:要处理的信号的 编号

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

handler:要对这个信号做怎样的处理

handler是一个函数指针

指向 信号处理函数

//SIG_IGN (ignore) 忽略这个信号

//SIG_DFL(default) 默认操作

返回值:(返回的还是函数指针类型)

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

失败 SIG_ERR

SIGKILLSIGSTOP不能被阻塞,不能被忽略,不能被处理(!!!)

所有的信号:

对于SIGCHLD信号,无论子进程是正常结束还是异常结束,都会发送这个信号到父进程

kill函数:

mplayer中的命令必须以‘\n’结尾才起效

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值