无名管道:可以用于有亲缘关系的进程间,在fork()之前创建好管道
有名管道:用于无亲缘关系的进程间
创建管道:命令 mkfifo
有名管道:
1.是一种特殊的文件
a.存在于内存中
b.在系统中有一个对应的名称
c.看文件大小始终为0
2.编程操作
函数mkfifo()
参数1:pathname,fifo文件名
参数2:mode_t mode,创建权限:0666
返回值:成功返0,失败返-1
管道文件(fifo),都不支持·定位操作(lseek,fseek)
---------------------------------------------------------------------------------------------------------------------------------------------
信号
本身不能传递大量数据
信号是一种异步的通信方式:
同步:步调一致
异步:步调不一致
信号-----软中断------软件层面上------实现一个类似中断的过程
信号编程:
函数 signal()
功能:信号处理函数的注册函数
参数1:要处理的信号的编号(不能被忽略阻塞处理的信号:sigstop,sigkill)
参数2:要对这个信号做怎么样的处理
函数 kill()
功能:通过该函数可以给pid进程发送信号
参数1:pid,给某进程发信号此进程的pid
参数2:sig,要发送的信号