当前位置: 首页 > news >正文

4、操作系统——进程间通信(2)(system V-IPC介绍)

目录

一、system V-IPC常识

1、key和ID

2、文件描述符

3、函数(ftok)

ftok产生IPC对象的健值key(类似文件路径)

 4、例子

 5、使用命令查看或删除当前系统中的IPC对象

一、system V-IPC常识

1、key和ID

(1)IPC对象的操作接口都比较类似,用key的健值来唯一标识,并且都是“持续性”资源,即创建后不会因为进程退出而消失,会持续存在,删除时要用特殊的函数或者命令

(2)key类似于文件的路径名(唯一)

         ID类似于文件的描述符(可变)

        每打开一次IPC对象,就会获得一个表征这个对象的ID(相当文件IO中的文件描述符),再使用这个ID操作对象。

2、文件描述符

#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>int main(int argc, char* argv[]) {int fd = open("test.py", O_RDONLY);if (fd == -1) {return -1;}printf("test.py fd = %d \n", fd);close(fd);return 0;
}

 上述中fd为文件描述符

3、函数(ftok)

ftok产生IPC对象的健值key(类似文件路径)

 4、例子

#include <sys/types.h>
#include <sys/ipc.h>
#include <stdio.h>int main(int argc, char const *argv[])
{    key_t key =  ftok("./",  1 );printf("key:%d\n" , key );return 0;
}

5、使用命令查看或删除当前系统中的IPC对象

查看消息队列:ipcs -q
查看共享内存:ipcs -m
查看信号量:ipcs -s
查看所有的 IPC 对象:ipcs -a删除指定的消息队列:ipcrm -q MSG_ID 或者 ipcrm -Q msg_key
删除指定的共享内存:ipcrm -m SHM_ID 或者 ipcrm -M shm_key
删除指定的信号量:ipcrm -s SEM_ID 或者 ipcrm -S sem_key

http://www.lryc.cn/news/42887.html

相关文章:

  • 基于CentOS Stream 9平台搭建Nacos2.0.4集群以及OpenResty反向代理
  • 老杜MySQL入门基础 第二天
  • Python深度学习实战:人脸关键点(15点)检测pytorch实现
  • linux简单入门
  • 给准备面试网络工程师岗位的应届生一些建议
  • 主线程与子线程之间相互通信(HandlerThread)
  • 13基于双层优化的电动汽车日前-实时两阶段市场竞标
  • REDIS19_zipList压缩列表详解、快递列表 - QuickList、跳表 - SkipList
  • JavaScript 基础 - 第3天
  • 23.3.26总结
  • 【Java学习笔记】37.Java 网络编程
  • Azure OpenAI 官方指南03|DALL-E 的图像生成功能与安全过滤机制
  • 【数据结构】堆
  • 电脑硬盘文件数据误删除/格式化为什么可以恢复? 怎么恢复?谈谈文件删除与恢复背后的原理
  • Gateway服务网关
  • K8S + GitLab + Jenkins自动化发布项目实践(一)
  • 【数据结构篇C++实现】- 堆
  • C++笔试题
  • 【Python】基本语法
  • 用栈实现队列(图示超详解哦)
  • Spring - Spring 注解相关面试题总结
  • 【数据结构】实现二叉树的基本操作
  • 代码随想录算法训练营第五十二天| ● 300.最长递增子序列 ● 674. 最长连续递增序列 ● 718. 最长重复子数组
  • 手机验证发送及其验证(基于springboot+redis)保姆级
  • 【JavaScript 逆向】数美滑块逆向分析
  • 多任务之线程
  • (数字图像处理MATLAB+Python)第二章数字图像处理基础-第二节:色度学基础与颜色模型
  • 【华为OD机试 2023最新 】 网上商城优惠活动(C++)
  • 记一次CentOS 8 部署packstack部署OpenStack失败案例,请直接看最后
  • 【2023春招】美团技术岗笔试10min+AK