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的讲解暂时就到这里,等我后面在深入学习,这篇博客也会再重新更新

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

问AI经历网是什么

为AI生成的文案点赞 👍

java实现插入排序

图解 以下是Java实现插入排序的代码: public class InsertionSort {public static void main(String[] args) {int[] arr {5, 2, 4, 6, 1, 3};insertionSort(arr);System.out.println(Arrays.toString(arr)); // output: [1, 2, 3, 4, 5, 6]}public static void i…

dolphinscheduler

架构说明 MasterServer MasterServer采用分布式无中心设计理念,MasterServer主要负责 DAG 任务切分、任务提交监控,并同时监听其它MasterServer和WorkerServer的健康状态。 MasterServer服务启动时向Zookeeper注册临时节点,通过监听Zookeep…

猪酒店房价采集

<?php // 设置代理 $proxy_host jshk.com.cn;// 创建一个cURL资源 $ch curl_init();// 设置代理 curl_setopt($ch, CURLOPT_PROXY, $proxy_host.:.$proxy_port);// 连接URL curl_setopt($ch, CURLOPT_URL, "http://www.zujia.com/");// 发送请求并获取HTML文档…

spring-cloud-stream

系列文章目录 第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 第五章 Spring Cloud Netflix 之 Ribbon 第六章 Spring Cloud 之 OpenFeign 第七章 Spring Cloud 之 GateWay 第八章 Sprin…

mysql讲解2 之事务 索引 以及权限等

系列文章目录 mysql 讲解一 博客链接 点击此处即可 文章目录 系列文章目录一、事务1.1 事务的四个原则1.2 脏读 不可重复读 幻读 二、索引三,数据库用户管理四、mysql备份 一、事务 1.1 事务的四个原则 什么是事务 事务就是将一组SQL语句放在同一批次内去执行 如果一个SQ…

FTP网络问题排查

Linux探测路径MTU&#xff1a; ping大包&#xff1a; [test]$ ifconfig eth0: flags4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1280 [test]$ ping -M do -s 1252 172.18.98.3 PING 172.18.98.3 (172.18.98.3) 1252(1280) bytes of data. 1260 bytes from 172.18.98.3: …

C 语言数组

C 语言数组 在本教程中&#xff0c;您将学习如何使用数组。您将借助示例学习如何声明&#xff0c;初始化和访问数组的元素。 数组是可以存储多个值的变量。例如&#xff0c;如果要存储100个整数&#xff0c;则可以为其创建一个数组。 示例 cint data[100];如何声明数组&…

Centos8上部署Zabbix5.0

1.关闭Selinux及防火墙&#xff0c;避免Web页面无法访问。 setenforce 0 vim /etc/selinux/config 修改“SELINUX”等号后的内容为disabled SELINUXdisabled\\关闭并关闭开机自启 systemctl stop firewalld systemctl disable firewalld 2.配置Centos8本地yum源。 mkdir /mn…

【开源】基于JAVA的超市商品管理系统

目录 一、摘要1.1 简介1.2 项目详细录屏 二、研究内容2.1 数据中心模块2.2 超市区域模块2.3 超市货架模块2.4 商品类型模块2.5 商品档案模块 三、系统设计3.1 用例图3.2 时序图3.3 类图3.4 E-R图 四、系统实现4.1 登录4.2 注册4.3 主页4.4 超市区域管理4.5 超市货架管理4.6 商品…

Vue3 数据响应式原理:Proxy和Reflect

我们在Vue2中使用的是Object.defineProperty方法来实现数据响应式的&#xff0c;可以通过get和set方法来监听对象的访问和修改。 但是并不能响应对象中属性的增加和删除&#xff0c;只能使用Vue.$set 和Vue.$delete 来对对象中的属性进行增加和删除。 数组也不能直接通过下标…

TensorFlow2.0教程3-CNN

` 文章目录 基础CNN网络读取数据卷积层池化层全连接层模型配置模型训练CNN变体网络简单的深度网络添加了其它功能层的深度卷积NIN网络文本卷积基础CNN网络 读取数据 import numpy as np import tensorflow as tf import tensorflow.keras as keras import tensorflow.keras.la…