美文网首页
36 | 进程间通信

36 | 进程间通信

作者: AndyWei123 | 来源:发表于2020-05-15 00:57 被阅读0次
  • 管道 pipe,这种方式类似于瀑布模型,必须等上一个步骤有了结果才可以执行下一个步骤

匿名管道:命令行中使用的 | ps -ef | grep 关键字 | awk '{print $2}' | xargs kill -9
命名管道:使用mkfifo创建的如下,创建并输入信息给管道:

mkfifo hello
#### 这里会阻塞,直到有人接收#####
echo "hello world" > hello 
######输出#######  
cat < hello
  • 消息队列,类似于邮件沟通

    • 我们需要创建一个消息队列,使用 msgget 函数

    信号量,消息队列,共享内存都属于 System V IPC 的通讯机制里面。System V 的统一命令, ipcmk 创建 ;ipcs 查看;ipcrm 删除;他们都需要一个全局唯一的ID 一般通过 ftok 将 文件的inode转化为一个id

    • 发送消息 msgsnd 函数
    • 接收消息 msgrcv 函数
  • 共享内存

    • 创建一个共享内存,调用 shmget
    • 将这个内存加载到自己的虚拟地址空间的某个位置,通过 shmat 函数
    • shmctl,对共享内存进行操作,比如将 cmd 设置为 IPC_RMID,从而删除这个共享内存对象
    • shmdt 解除绑定
  • 信号量:一般用于协调共享资源,最主要用于共享内存共同合作

    • P 操作,我们称为申请资源操作。
    • V 操作,我们称为归还资源操作。
    • 始化信号量的总的资源数量。通过 semctl 函数
    • P操作和V操作使用emop 函数
  • 信号:异常情况下的工作模式,类似于故障处理

    信号可以在任何时候发送给某一进程,进程需要为这个信号配置信号处理函数。当某个信号发生的时候,就默认执行这个函数就可以了。这就相当于咱们运维一个系统应急手册,当遇到什么情况,做什么事情,都事先准备好,出了事情照着做就可以了。

相关文章

  • 36 | 进程间通信

    管道 pipe,这种方式类似于瀑布模型,必须等上一个步骤有了结果才可以执行下一个步骤 匿名管道:命令行中使用的 |...

  • linux进程间通信(1)

    一、进程通信概述 1、什么是进程间通信?什么是线程间通信? 进程间通信: 进程间通信就指的是用户空间中进程A与进程...

  • 第二十三章 进程间通信介绍(一)

    本章目标: 进程同步与进程互斥 进程间通信目的 进程间通信发展 进程间通信分类 进程间共享信息的三种方式 IPC对...

  • 进程间的通信

    进程间的通信主要分为本机器进程间的通信和不同机器间进程的通信。本文主要描述本机进程间的通信。 一、传统Linux的...

  • 进程间通信

    进程间通信 进程空间相对独立,资源无法相互获取,此时在不同进程间通信需要专门方法 进程间通信就是在不同的进程间进行...

  • 进程间通信,线程间通信

    进程间通信 进程间通信又称IPC(Inter-Process Communication),指多个进程之间相互通信...

  • Android IPC机制

    IPC 即Inter-Process-Communication,含义是进程间通信/跨进程通信。是指多个进程间通信...

  • 进程管理(五)进程间通信、死锁

    (一)进程间通信 除了同步和互斥外,进程间还有其他的通信手段。 进程间的通信 --> IPC (InterProc...

  • 6. 进程间通信

    参考链接:1. 进程间通信及使用场景2. 进程间通信机制IPC3. 看图理解进程间通信IPC==重点4. 进程间通...

  • 【python】进程间通信:Queue的详细用法

    关于python 进程间通信 Process之间有时需要通信,操作系统提供了很多机制来实现进程间的通信。 进程间通...

网友评论

      本文标题:36 | 进程间通信

      本文链接:https://www.haomeiwen.com/subject/nqtqohtx.html