linux进程与线程
linux下进程与线程的创建与通信机制
__万波__
没多少天赋,但很热爱程序
展开
-
Linux进程间通信:消息队列(IPC)
消息队列是Inter-Process Communication (IPC)中的一种全双工通信方式。消息队列的本质是在内存的内核空间, 使用链表实现的一个队列数据结构使用示例发送端 send.c/** * Description: 创建消息队列并发送消息 * File: send.c |Time: 2021-04-07 15:12 */#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h原创 2021-05-30 22:47:25 · 185 阅读 · 2 评论 -
Linux进程间通信:信号
信号系统中信号的默认行为有4种用户对信号可选的自定义操作有3种选择`捕捉`信号选择`忽略`信号选择信号`默认`行为用户不可以修改其行为的信号常见的信号信号相关的函数接口`kill` 发送信号`pause` 阻塞等待一个信号到来`raise` 给自己发送一个信号`alarm` 定时给自己发送一个信号信号是linux系统中进程间通信的一种方式, 它是一种异步的通信机制, 用来告诉某个进程, 某种事件已经发生。系统中信号的默认行为有4种终止, 进程停止运行忽略, 进程对信号不做任何回应停止, 进程暂停原创 2021-05-30 20:15:56 · 121 阅读 · 0 评论 -
Linux进程间通信:有名管道
有名管道是通过在磁盘上创建一个管道类型的文件, 不同的进程可以通过读写这个文件实现通信。和无名管道一样, 有名管道也是半双工通信类型, 同一时刻, 一端只能读, 另一端只能写。与无名管道不同, 有名管道因为在磁盘上有实际的文件存在, 所以, 任意两个本地进程都可以通过这个管道文件实现通信。有名管道注意点:读端未打开时, 写端打开阻塞, 读端打开时, 阻塞结束写端未打开时, 读端打开阻塞, 写端打开时, 阻塞结束读端关闭, 写端写入时, 触发管道破裂信号(SIGPIPE)写端关闭, 读端读取时原创 2021-05-30 09:35:11 · 352 阅读 · 0 评论 -
Linux进程间通信:无名管道
无名管道通信是指在进程间创建一个管道文件,一端读, 一端写, 实现通信。这个管道文件并不在磁盘上, 而是在内存中, 进程结束后随即释放。无名管道是半双工通信, 在同一时刻, 一端只能读, 另一端只能写。无名管道只能在亲缘进程之间实现通信, 它依赖亲缘进程间相同的内存空间中的文件描述符。管道通信方式类似队列数据结构, 先进先出。注意点:读端关闭, 写端写入时, 触发管道破裂信号(SIGPIPE)写端关闭, 读端读取时, 读取数据完毕后立即返回, 不再阻塞写端不写入, 读端读取时, 读完管道内的原创 2021-05-29 08:07:49 · 345 阅读 · 1 评论