美文网首页
Linux 进程间通信

Linux 进程间通信

作者: MwinxAxniwM | 来源:发表于2018-09-12 15:53 被阅读0次

    进程间通信

    一 进程间通信 -- 管道

    • mkfifo test 创建管道文件
    • 匿名管道和命名管道:
      • 匿名管道:匿名管道主要利用了,创建子进程的时候会把父进程的文件描述符表拷贝一份这个特征,通过这个特征,父子进程就看到了一个公共的资源—管道,并同时拥有对该管道腹泻的权利,那么一方读,一方写,就可以完成进程之间的通信了。
      • 命名管道:既然管道也是一个文件,那么肯定有大小上限,这也是其一个缺点,大小有限的

    二 消息队列

    • 管道是一个文件,而消息队列是一个数据结构
      ipcs -q #查看消息队列状态
      ipcrm -q 21323 #销毁

    三 信号量

    • 信号量用于进程间的同步和互斥

      • 同步:处理竞争,安排进程执行的顺序
      • 互斥:互斥访问不可共享资源
      • 竞争:并发进程竞争使用同一个资源时
    • 信号量的创建:

    • 信号量的初始化

    • 信号量操作:

      • P操作
      • V操作
    • 信号量的删除

    四 共享内存

    • 创建共享存储区:
      ipcs -m #查看当前的共享存储区
    • 共享存储区的链接
    • 共享存储区的断开
    • 删除共享存储区

    五 信号

    • 信号是怎么产生的:

      • 硬件产生的
      • 进程发送的
      • 异常
      • kill -l #查看所有的信号
    • 信号处理的方式:

      • 忽略
      • 默认处理
      • 自定义处理
    • 相关函数解析:

    • 阻塞信号

    相关文章

      网友评论

          本文标题:Linux 进程间通信

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