美文网首页
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