进程间通信(linux进程与线程学习笔记)

    科技2022-08-02  104

     进程间通信介绍       早期UNIX进程间通信方式              无名信号(pipe)         有名管道(fifo)         信号(signal)              System V IPC              共享内存(share memory)         消息队列(message queue)         信号灯集(semaphore set)              套接字(socket)       无名管道特点       无名管道具有以下特点:              只能用于具有亲缘关系的进程之间的通信                  单工的通信模式,具有固定的读端和写端                  无名管道创建时会返回两个文件描述符,分别用于读写管道           无名管道创建 - pipe       #include<unistd.h>          int pipe(int pdf[2]);          成功时返回0,失败时返回EOF          pdf 包含两个元素的整形数组,用来保存文件描述符          pdf[0]用于读管道,pdf[1]用于写管道       读无名管道       写端存在(至少有一个进程可以通过无名管道写数据)              有数据    read返回实际读取的字节数                  无数据    进程读阻塞              写端不存在              有数据    read返回实际读取的字节数                  无数据    read返回0           写无名管道       读端存在(至少有一个进程可以通过文件描述符读取管道内容)              有空间    write返回实际写入字节数                  无空间    进程写阻塞              读端不存在              有空间    管道断裂!                  无空间    管道断裂!     

    Processed: 0.010, SQL: 8