系统编程 day14 进程6

无名管道:可以用于有亲缘关系的进程间,在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,要发送的信号

你可能感兴趣的:(linux,c语言,开发语言)