![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
UNIX环境高级编程
文章平均质量分 90
所有博文为作者学习笔记,如有错误或问题,欢迎斧正!!!
Starry..
少年不惧岁月长,彼方尚有荣光在!
展开
-
Linux进程间通信 - - - 信号量
文章目录前言一、信号量概述二、信号量相关API详解1.创建或者获取一个信号量2.改变信号量的值3.控制信号量三、代码演示前言本文为笔者学习笔记,若有不妥之处,欢迎斧正。一、信号量概述信号量(semaphore)与之前介绍过的 IPC 结构不同,它是一个计数器。信号量用于实现进程间的互斥与同步,而不是用于存储进程间通信数据。它是一个特殊变量,只允许对它进行等待和发送信号这两种操作P(信号量变量):等待。如果sv大于0,减小sv。如果sv为0,挂起这个进程的执行。V(信号量变量sv):发送信号原创 2021-05-17 18:23:55 · 339 阅读 · 0 评论 -
Linux进程间通信 - - - 共享内存
文章目录前言一、共享内存概述二、共享内存相关API详解1.获取键值2.创建或者获取一段共享内存3.连接共享内存4.断开连接共享内存5.控制共享内存三、代码演示前言本文为笔者学习笔记,若有不妥之处,欢迎斧正。一、共享内存概述简单来说共享内存的概念:是指两个或多个进程共享已给定的存储区。共享内存的特点:共享内存是最快的一种IPC,进程是直接对内存进行存取。支持多个进程同时操作,所以需要同步操作。(也就是配合信号量使用)信号量+共享内存通常结合起来一起使用,信号量用来同步对共享内存的访问。原创 2021-05-17 15:33:41 · 500 阅读 · 1 评论 -
Linux进程间通信 - - - 消息队列
文章目录前言一、消息队列概述二、消息队列相关API详解1.获取键值2.打开或创建消息队列3.添加消息4.读取消息5.控制消息队列6.消息队列的消息结构体三、代码演示总结前言本文为笔者学习笔记,若有不妥之处,欢迎斧正。一、消息队列概述消息队列( message queue ) : 消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。消息队列的特点:消息队列是面向记录的,其中消息具有特定的格式以及特定的优先原创 2021-05-16 16:17:35 · 1080 阅读 · 0 评论 -
Linux进程间通信 - - -管道
文章目录前言一、进程间通信的概述二、管道概述1.无名管道(pipe)2.命名管道(FIFO)三、无名管道和命名管道的异同前言本文为笔者学习笔记,若有不妥之处,欢迎斧正。一、进程间通信的概述进程间通信也称为IPC技术。作用是:使进程之间相互通信的技术。进程间通信的目的:数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几兆字节之间。共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到。通知事件:一个进程需要向另一个或一组进程发送消息,原创 2021-05-16 14:06:29 · 214 阅读 · 0 评论 -
UNIX环境高级编程 - - - 进程exec族函数
文章目录前言一、exec族函数简介二、exec族函数详解1.函数原型2.详解上述API三、Linux system函数四、Linux popen函数前言本文为笔者学习笔记,若有不妥之处,欢迎斧正。一、exec族函数简介exec族函数的作用:用在fork函数创建新的进程后,经常会在新进程中调用exec函数去执行另外的一个程序。注意:当进程调用exec函数时,该进程被完全替换为新程序。在调用exec函数时并不创建新的进程,所以前后的进程pid没有改变。exec族函数有:execl、execv ex原创 2021-05-15 15:59:37 · 320 阅读 · 0 评论 -
UNIX环境高级编程 - - -进程1
文章目录前言一、进程相关概念二、1、总结前言本文为笔者学习笔记,若有不妥之处,欢迎斧正。一、进程相关概念什么是程序?什么是进程?两者有什么区别呢?程序:是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具。进程:计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。区别:程序会一直存储在磁盘中,进程是暂时的,是程序在内存中执行的过程,可以创建和撤销。程序是静态的,而进程是动态的进程具有并发性,而程序没有原创 2021-05-14 22:18:47 · 138 阅读 · 0 评论 -
UNIX环境高级编程 - - - 文件编程1
UNIX环境高级编程 - - - 文件编程1文章目录UNIX环境高级编程 - - - 文件编程1前言一、什么是文件描述符?二、文件编程API详解1、creat函数2、open函数3、openat函数4、close函数5、lseek函数总结前言文中描述的函数经常被称为不带缓冲的I/O——打开文件、读文件、写文件等UNIX系统中的大多数文件I/O都只需要五个函数:open、read、write、lseek、以及close。一、什么是文件描述符?概念:对于内核而言,所有打开的文件都由文件描述符引原创 2021-05-05 20:01:54 · 161 阅读 · 0 评论