Linux
文章平均质量分 59
应用为王,在实际应用开发中学习Linux系统编程知识
頋念安
这个作者很懒,什么都没留下…
展开
-
Linux进程间通信——共享内存
这样挂载一个共享内存如果是第一次调用时没有问题的,但是一个进程是可以对同一个共享内存多次shmat进行挂载的,物理内存是指向同一块,如果shmaddr为NULL,则每次返回的线性地址空间都不同,而且指向这块共享内存的引用计数会增加,也就是进程多块线性空间会指向同一块物理地址,这样会一直消耗进程的虚拟内存空间,很有可能会最后导致进程线性空间被使用完,而导致下次shmat或者其他操作失败。这样进程就与共享内存建立了连接。cat /proc/sys/kernel/shmmni原创 2022-11-03 01:15:23 · 337 阅读 · 2 评论 -
Linux进程间通信——消息队列
1. 消息队列可以实现消息的随机查询,满足队列的特点但不一定要以先进先出的次序读取,可以按消息的类型读取;System V提供的IPC通信机制需要一个key值,通过key 值就可在系统内获得一个唯一的消息队列。5. 只有内核重启或人工删除时,该消息才会被删除,若不人工删除消息队列,消息队列会一直存在于内存中。3.与无名管道、有名管道一样,从消息队列中读出消息,消息队列中数据会被删除;4.消息队列是面向记录的,其中的消息具有特定的格式以及特定的优先级;2.消息队列允许一个或多个进程向它写入或者读取消息;原创 2022-11-02 23:52:16 · 1841 阅读 · 0 评论 -
Linux进程通信—管道
3.FIFO(first in first out)按照先进先出的原则工作,先被写入的先被读出。1.它是以一种特殊文件类型存在于文件系统(设备文件);创建管道后“写端”进程会堵塞,等待另外一个进程读出数据。2.它适用于不仅限于亲属进程间的通信;管道文件里的内容读完之后就某有了。FIFO,也称命名管道。原创 2022-11-02 22:10:20 · 166 阅读 · 0 评论 -
树莓派——串口通信
在使用read函数对串口进行读取数据之前,最好先使用serialFlush函数对串口缓冲区进行刷新,不然可能会一直读不到数据。:列如使用USB转TTL让电脑和树莓派进行通信,树莓派的TXD则接转换模块的RXD,RXD接TXD。Tips:删除之后就无法通过串口登录树莓派,若需要串口登录再添加进去就ok了。同时需要把GND也接上,因为两个平台的电压可能不同,导致数据传输发生错误,在树莓派中有封装好的wiringPi库,可以使用库函数进行通信。:树莓派使用串口通信前需要进行一些配置。需要将里面用于串口登录的。原创 2022-10-17 00:40:45 · 2848 阅读 · 0 评论 -
Linux文件编程
常用函数1,open2,write3,read4,lseek光标重定位1,openSYNOPSIS#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h> int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode); int creat(c原创 2022-05-21 20:10:27 · 161 阅读 · 0 评论 -
【socket网络编程——FTP云盘】
项目功能实现客户端远程从服务器端获取文件(get xxx)实现客户端上传文件到服务器端(put xxx)对服务器当前目录的基本操作(ls,cd,pwd)对客户端当前目录的操作(lls,lcd)> 1,2是项目的主要功能> 3,4是为了方便1,2功能de项目实现在Linux系统下基于socket编程实现,用到以下主要函数:服务器端#include<stdio.h>#include<stdlib.h>#include <sys/typ原创 2022-05-14 01:01:10 · 342 阅读 · 0 评论