美文网首页
System V IPC概述

System V IPC概述

作者: FakeCSer爱去网吧 | 来源:发表于2020-02-25 16:26 被阅读0次

IPC概述

  • 进程间通信(Inter-Process Communication,IPC)目的有数据传输,多进程同步,发送控制信息等。
  • 在不同场合下使用的进程间通信机制如下图


    图片来自黄茹老师主编的《linux环境高级程序设计》

System V IPC

图片来自黄茹老师主编的《linux环境高级程序设计》
  • shell中对System V IPC资源的使用情况显示和对资源的管理

查看System V IPC资源:ipcs
查看共享内存:ipcs -m
删除共享内存:ipcrm -m shmid
查看信号量:ipcs -s
删除信号量:ipcrm -s semid
查看消息队列:ipcs -q
删除消息队列:ipcrm -q queueid

IPC的标识符和键值

  • 各自调用get函数,如seg_id = shmget(SHM_KEY,1024,IPC_CREAT|0777);通过约定的键值(KEY)来返回一个标识符(ID)
  • ID可以看做IPC对象的内部名
  • KEY可以看做是IPC对象的外部名
ftok函数

ftok的作用将多个进程认定的同一个路径名和项目ID(0~255的字符值)转换为一个键值

#include <sys/ipc.h>
key_t ftok(char * path,int id);

参数表:
path:路径名
id:项目ID
返回值:
大于-1:成功
-1:失败

key = ftok(".",512);
seg_id = shmget(key,IPC_CREAT|0777);

相关文章

网友评论

      本文标题:System V IPC概述

      本文链接:https://www.haomeiwen.com/subject/uhmfqhtx.html