系统编程
听风不是云
Everyting negative ,pressure, challenges – is all an opportunity for me to rise.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
共享内存的使用方法
共享内存 使用共享内存的一般步骤: (1)获取共享内存的ID; (2)将共享内存映射到本进程虚拟内存空间的某个区域; (3)不再使用时,接触映射; (4)不需要时,删除它。 注意:创建的共享内存是物理内存,必须要映射到本进程的内存空间才能使用。 IPC_STAT获得的属性信息查找课本或其他资料 代码演示: p1发送信息给p2 int main() { int shmid; //申请共享内存 shmid=shmget(54544,1024,IPC_CREAT|IPC_EXCL|0777); //原创 2020-08-08 16:33:12 · 3393 阅读 · 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 · 6944 阅读 · 0 评论 -
信号常见的接口函数
信号 信号是一种特别的IPC,大部分信号是异步的,也就是说,信号的到来是无法预料的。 信号总共有四种响应方式: 第一种:信号的默认响应动作(就是linux系统已经规定好的) 第二种:改变信号的响应动作 第三种:信号的忽略 第四种:信号的阻塞(信号的屏蔽) 以下为Linux的64种信号: 绝不部分信号默认动作都是终止程序,其中SIGSTOP / SIGKILL是无法被忽略和屏蔽的。 发送信号的两个常用命令: kill -信号的序号 进程的ID kill -信号的名字 进程的ID kill -9原创 2020-08-08 14:26:32 · 626 阅读 · 1 评论 -
有名管道和无名管道的基本特点和使用
管道的创建和判断是否存在 无名管道:int pipe( int fd[2] ) 功能:创建无名管道 pipe 注意:pipe 拥有两个文件描述符,一个专用于读fd[0],一个专用于写fd[1] 创建出来的 pipe 的描述符,只能通过子进程继承的方式传递给别的进程,因此只能用于亲缘进程间的通信,其他非亲缘进程无法获取 pipe 的描述符。 不能有多个进程同时对 pipe 进行写操作,否则数据有可能被覆盖 总结: pipe 适用于一对一的、具有亲缘关系的进程间的通信。 int ret; //定义数组存放无原创 2020-08-08 10:44:50 · 1441 阅读 · 0 评论
分享