linux之IPC

linux之IPC

  • 什么是IPC
    • 共享内存(shm)
      • ftok
      • shmget
      • shmat
      • shmdt
      • shmctl
    • 消息队列
      • msgget
      • msgrcv
      • msgsnd
      • msgctl
    • 旗语(信号量)
      • semget
      • semctl
      • semop
      • sem
      • 三级标题
      • 三级标题
    • ipc命令
    • 守护进程
      • 查看守护进程

什么是IPC

IPC: Inter(内核) Process(进程) Communicton(通信)

共享内存(shm)

shm–> share memory
内核会维护主机上的一块内存段
多个进程可以访问这些内存段

1.创建key ftok
2.创建共享内存 shmget
3. 挂载共享内存 shmat
4.卸载共享内存 shmdt
5.删除共享内存 shmctl

ftok

shmget

在这里插入图片描述

shmat

在这里插入图片描述

shmdt

在这里插入图片描述

shmctl

在这里插入图片描述

消息队列

在主机上,指定一或者多个队列
多个进程可以访问这些队列

消息队列: msg
1.创建key
2.创建消息队列 msgget
3.收发消息 msgrcv msgsnd
.4.删除消息队列 msgctl

msgget

在这里插入图片描述

msgrcv

在这里插入图片描述

msgsnd

在这里插入图片描述

msgctl

在这里插入图片描述

旗语(信号量)

sm —>semaphore
希望,多个进程错开时间,去访问同一块区域
有一个整数
有一些进程可以去操作这个整数
加 随时可以加
减 0以上,随便减,不能减到0以下

信号量编程模型
1.创建key
2.创建信号量 semget
3.初始化信号量 semctl
4.使用信号量 semop
加 减
5.删除信号量 semctl

semget

在这里插入图片描述

semctl

在这里插入图片描述

semop

在这里插入图片描述

sem

三级标题

三级标题

ipc命令

ipc命令的作用:用来查看当前主机上的ipc
ipcs 查看
-m 查看 shm
-q 查看 msg
-s 查看 sem’’

ipcrm 删除

守护进程

守护进程也称为精灵进程(Daemon),是运行在后台的一种特殊进程.它独立于控制中断并且周期性的执行某种任务或者等待处理某些发生的事件.

独立的 记录某个进程的情况 系统日志

查看守护进程

ps axj
TPGID 为 -1 的话,为守护进程

IPC的讲解暂时就到这里,等我后面在深入学习,这篇博客也会再重新更新

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/135979.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解决wrong fs type, bad option, bad superblock on /dev/sda1问题

1 背景 某天挂载硬盘的时候,系统提示了如下错误: 在此记录排查过程以及解决方案。 2 排查过程 出现这种问题应该先尝试从日志入手,输入: sudo dmesg | tail输出如下: 关键信息: [ 164.750178] ntfs3:…

基于SSM的微博网站的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

Runway 最强竞品 Pika 1.0 预告来袭!文生视频效果堪比迪士尼动画!重新定义动画生成新范式!

作者 | 张雨霏、王二狗 Runway是AI生成视频赛道的绝对霸主吗? 不一定! 就在这两天天,Pika在推特上官宣——Pika 1.0即将来袭! 网友看到后都直呼 Amazing 🤩!Unexpected! 🔥 还有网友表示未来…

Day58_《MySQL索引与性能优化》

文章目录 一、SQL执行顺序二、索引简介1、关于索引2、索引的类型Btree 索引Btree 索引 三、Explain简介四、Explain 详解1、id2、select_type3、table4、type5、possible_keys6、key7、key_len8、ref9、rows10、Extra11、小案例 五、索引优化1、单表索引优化2、两表索引优化3、…

Spring Boot 整合xxl-job实现分布式定时任务

xxl-job介绍 XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 xxl是xxl-job的开发者大众点评的许雪里名称的拼音开头。 设计思想 将调度行为抽象形成“调度…

CDN加速与网站服务器优化提速的区别

在当今数字化时代,网站性能成为了业务成功的关键因素之一。为了提升用户体验和页面加载速度,许多网站采取了不同的优化手段,其中CDN加速和网站服务器优化提速是两个重要的方向。然而,它们在实现高效网站性能方面有着不同的角色和功…

【86 backtrader实现crypto交易策略】backtrader和ccxt对接实现中低频自动化交易-01

最近有点空闲,尝试把backtrader和一些实盘交易的接口对接一下,方便大家进行中低频交易,主要目标包括:股票(qmt),期货(ctpbee), crypto(ccxt),外盘交易(ib,已实现,但是版本比较旧,后期会继续更新). 这个周末尝试实现了backtrader和ccxt的对接,主要是参考了下面的开源代…

k8s 1.28.3 使用containerd

文章目录 环境说明最终结果环境配置时钟同步 主机名称配置主机名解析关闭swap安装ipvs 安装containerd安装containerd生成配置修改配置开启containerd服务 安装runc安装k8s安装kubelet kubeadm kubectl获取kubernetes 1.28组件容器镜像 拉取镜像初始化集群方法一(不…

一文读懂微前端

1 语雀文档 https://www.yuque.com/chanwj/vlkwxk/qvpv3kqws5hno3qt?singleDoc# 《微前端》本文使用的参考文档均以链接方式粘贴于文章内,十分感谢~ 2 项目github链接 如果你觉得本文档对你有用,恳请github仓库给个star~https://github.com/OmegaCh…

231112-中文错别字识别与纠正问题的大模型与小模型调研

A. 引言 当前,以ChatGPT为代表的大语言模型(Large Language Models, LLMs)正引领着新一轮工业革命。ChatGPT最开始的研究领域隶属于NLP的一个子问题,其输入是text,输出也是text。在从文本输入到文本输出的诸多应用场景…

No177.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

PgSQL技术内幕-Analyze做的那些事-pg_statistic系统表

PgSQL的优化器为一个查询生成一个执行效率相对较高的物理执行计划树。执行效率的高低依赖于代价估算。比如估算查询返回的记录条数、记录宽度等,就可以计算出IO开销;也可以根据要执行的物理操作估算出CPU代价。那么估算依赖的信息来源哪呢?系…

代理模式-静态动态代理-jdk动态代理-cglib动态代理

代理模式 静态代理 动态代理:jdk动态代理 cglib动态代理 注意 :下面的代码截图 要配合文字去看 我对代码的每一步都做了解释 所以需要配合图片观看提取吗1111https://pan.baidu.com/s/1OxQSwbQ--t5Zvmwzjh1T0A?pwd1111 这里直接把项目文件 及代码 …

【Seata源码学习 】 AT模式 第一阶段 @GlobalTransaction的扫描

1. SeataAutoConfiguration 自动配置类的加载 基于SpringBoot的starter机制,在应用上下文启动时,会加载SeataAutoConfiguration自动配置类 # Auto Configure org.springframework.boot.autoconfigure.EnableAutoConfigurationio.seata.spring.boot.aut…

外中断的应用

前言 软件基础操作参考这篇博客: LED数码管的静态显示与动态显示(KeilProteus)-CSDN博客https://blog.csdn.net/weixin_64066303/article/details/134101256?spm1001.2014.3001.5501实验一:P1口上接8个LED灯,在外部…

cesium如何实现区域下钻

首先,这里讲一下数据源,数据源是拷贝的DataV.GroAtlas里的数据,这里整合了一下之前发的区域高亮的代码来实现的,单击左键使得区域高亮,每次点击都移除上一次点击的模块,双击左键,实现区域下钻并…

C++ 对象的拷贝、赋值、清理和移动(MyString类)

MyString类 MyString.h #ifndef MYSTRING_H #define MYSTRING_H#include <iostream> using namespace std;class MyString {private:char* str nullptr;unsigned int MaxSize 0;public:MyString(); /*默认构造函数*/MyString(unsigned int n); /*有…

SpringBoot系列-2 自动装配

背景&#xff1a; Spring提供了IOC机制&#xff0c;基于此我们可以通过XML或者注解配置&#xff0c;将三方件注册到IOC中。问题是每个三方件都需要经过手动导入依赖、配置属性、注册IOC&#xff0c;比较繁琐。 基于"约定优于配置"原则的自动装配机制为该问题提供了一…

recycleView(二)Grid,中间有间距,left,right,top,bottom没有间距

1.作用 1.效果图 item的top&#xff0c;bottom&#xff0c;right&#xff0c;left都是0 2.代码 1.关键代码 // 设置RecycleView的item间的间距&#xff0c;上下间距为20排序&#xff0c;左右间距为20排序binding.rv.addItemDecoration(object : RecyclerView.ItemDecorat…

算法——滑动窗口

什么是窗口&#xff1f;就是符合题目要求的区域内的数据&#xff0c;将每次符合数据的窗口内的数据记录下来&#xff0c;然后将窗口后移&#xff0c;寻找其他符合要求的数据&#xff0c;每次进入窗口和退出窗口都需要一定的要求 一、 LCR 008. 长度最小的子数组 - 力扣&#…