zoukankan      html  css  js  c++  java
  • 第3章 System V IPC

    3.1 概述

    System V IPC函数:

    3.2 key_t和ftok函数

    key_t是System V IPC的外部标识符,又称为IPC键,通过键,多个进程在同一个IPC对象上会合

    ftok函数将路径名和整数标识符转换为key_t值

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

    客户与服务器在pathname和id上达成一致,则双方通过调用ftok函数获取同一个IPC键

    三个get函数中(msgget、semget、shmget)使用key和flag参数,来创建或获取一个IPC对象,返回int型标识符

    a)key=IPC_PRIVATE则创建

    b)key未与某个IPC对象相关联且flag中指定IPC_CREAT位则创建


    3.3 ipc_perm结构

    ipc_perm结构规定了ipc对象的所有者和权限

    struct ipc_perm
    {
            uid_t   uid;   //IPC对象owner's euid
            gid_t   gid;   // owner's egid
            uid_t   cuid;  //creator's euid
            gid_t   cgid;  //creator's egid
            mode_t  mode;  //权限 0400|0200 | 0040|0020 |0004|0002
            ulong_t sep;
            key_t   key;
    };

    3.4 创建与打开IPC通道

    从IPC键到IPC标识符:

     

    打开一个IPC对象的逻辑流程:

  • 相关阅读:
    openVolumeMesh example 程序学习
    使用字符串创建java 对象
    HDU-1501-Zipper
    UVA-10285-Longest Run on a Snowboard
    HDU-2182-Frog
    HDU-2044-一只小蜜蜂
    POJ-1163-The Triangle
    HDU-1159-Common Subsequence
    HDU-2069-Coin Change
    HDU-4864-Task
  • 原文地址:https://www.cnblogs.com/buptlyn/p/4178999.html
Copyright © 2011-2022 走看看