![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
系统编程
听风不是云
Everyting negative ,pressure, challenges – is all an opportunity for me to rise.
展开
-
共享内存的使用方法
共享内存使用共享内存的一般步骤:(1)获取共享内存的ID;(2)将共享内存映射到本进程虚拟内存空间的某个区域;(3)不再使用时,接触映射;(4)不需要时,删除它。注意:创建的共享内存是物理内存,必须要映射到本进程的内存空间才能使用。IPC_STAT获得的属性信息查找课本或其他资料代码演示:p1发送信息给p2int main(){ int shmid; //申请共享内存 shmid=shmget(54544,1024,IPC_CREAT|IPC_EXCL|0777); //原创 2020-08-08 16:33:12 · 3051 阅读 · 0 评论 -
消息队列(MSG)的特点及基本使用方法
消息队列(MSG)几个跟 system-V IPC 对象相关的命令:ipcs -a:查看当前系统中存在的所有的 IPC 对象。ipcs -q:查看当前系统中存在的 消息队列。ipcs -m:查看当前系统中存在的 共享内存。ipcs -s:查看当前系统中存在的 信号量。删除 IPC 对象ipcrm -Q key : 删除指定的消息队列ipcrm -q id : 删除指定的消息队列ipcrm -M key : 删除指定的共享内存ipcrm -m id: 删除指定的共享内存ipcrm -S原创 2020-08-08 15:27:11 · 6416 阅读 · 0 评论 -
信号常见的接口函数
信号信号是一种特别的IPC,大部分信号是异步的,也就是说,信号的到来是无法预料的。信号总共有四种响应方式:第一种:信号的默认响应动作(就是linux系统已经规定好的)第二种:改变信号的响应动作第三种:信号的忽略第四种:信号的阻塞(信号的屏蔽)以下为Linux的64种信号:绝不部分信号默认动作都是终止程序,其中SIGSTOP / SIGKILL是无法被忽略和屏蔽的。发送信号的两个常用命令:kill -信号的序号 进程的IDkill -信号的名字 进程的IDkill -9原创 2020-08-08 14:26:32 · 558 阅读 · 1 评论 -
有名管道和无名管道的基本特点和使用
管道的创建和判断是否存在无名管道:int pipe( int fd[2] )功能:创建无名管道 pipe注意:pipe 拥有两个文件描述符,一个专用于读fd[0],一个专用于写fd[1]创建出来的 pipe 的描述符,只能通过子进程继承的方式传递给别的进程,因此只能用于亲缘进程间的通信,其他非亲缘进程无法获取 pipe 的描述符。不能有多个进程同时对 pipe 进行写操作,否则数据有可能被覆盖总结: pipe 适用于一对一的、具有亲缘关系的进程间的通信。 int ret; //定义数组存放无原创 2020-08-08 10:44:50 · 1317 阅读 · 0 评论