- 博客(19)
- 收藏
- 关注
原创 小白-对Docker容器的基本理解(GPT对话)
容器看到的是包装过的资源信息,不能看到真实资源信息。“主机资源可以分配给多个容器用,容器之间互相不知道。先问底层机制:namespace/cgroups 是什么再对准本质:容器是宿主机进程,不是新系统形成视图模型:隔离 = 只看到自己的“视图”补齐资源模型:共享资源池,但要用 cgroups 控制“能用多少”扩展到多容器:每个容器通常不同 namespace,也可共享工程化总结:Docker 轻量可迁移,关键在“共享内核 + 可复现镜像”交付方式落地:用 Dockerfile 固化依赖,替代手工装环境。
2025-12-16 21:50:48
550
原创 想要使用vscode连接虚拟机,首先要确定虚拟机是否开启了ssh!!!
【代码】想要使用vscode连接虚拟机,首先要确定虚拟机是否开启了ssh!!!
2025-11-25 15:47:07
84
原创 Linxu下如何查看IP地址?ifconfig用不了?
首先更新aptsudo apt updata然后下载工具sudo apt install net-tools如果出现错误,大概率是网络的问题:
2025-11-25 11:20:03
175
原创 Linux-网络通信(socket)
* 32-bit IPv4 地址,网络字节序 */in_addr_t一般是uint32_t的 typedef。s_addr——用 32 位无符号整数存储完整 IPv4 地址(如 0xC0A80164 代表 192.168.1.100)。“网络字节序”= 大端序。若手动赋值要用htonl()ntohl()把主机字节序转换。htons()——项目说明头文件或原型作用把主机字节序(Host Endian)的 16 位整数转换为网络字节序(Big-Endian)——常用于端口号、协议字段。典型场景。
2025-07-03 19:06:57
1180
原创 POSIX-信号量
可以参考这篇文章要使用信号量就需要创建一个 sem_t 类型的变量#include <semaphore.h>//头文件sem_t sem1;初始化信号量:semsem_tpshared01value1N。
2025-06-30 19:33:48
250
原创 Linux进程间通信-信号
信号可以看做是Linux下的软中断,在许多重要的程序交互上都需要处理信号,同时信号为Linux操作系统提供了一种处理异步事件的方法。常见的例子就是:终端用户输入了 ctrl+c 来中断程序,会通过信号机制停止一个程序。在Linxu中具体的信号名称可以使用kill -l来查看一下将列出几个常见的信号信号名称数字默认行为说明SIGINT2终止进程Ctrl+C 触发SIGTERM15终止进程kill 命令默认发送SIGKILL9立即终止不可捕捉、不可忽略SIGSTOP19暂停进程。
2025-06-30 16:57:07
642
原创 Linxu进程间的通信(共享内存)
共享内存(Shared Memory)是一种高效的进程间通信(IPC)方式。它允许多个进程在物理内存中共享一个区域,从而无需数据在进程之间拷贝,大幅提高了通信效率。一般共享需要结合信号量或者互斥锁来用,这篇文章主要是介绍简单共享内存的使用方法。函数介绍:1、shmget:Linux/Unix 系统中用于 创建或获取共享内存段(Shared Memory Segment) 的系统调用,属于 System V IPC 机制的一部分。这个函数是使用共享内存的第一步。🧾 参数说明。
2025-06-26 21:29:10
768
原创 关于VScode ssh 远程连接Linux的一些事
在解决问题的同时,由于前期不知道原因想着重新卸了安装解锁了重置编译器的方式,只进行简单的拆卸是无法清空电脑中VScode插件的相关信息的,当装一个新的还是会导入之前的东西,这是需要删除两个文件夹中的内容(全部删除)之前一直可以通过VScode远程连接虚拟机进行Linux环境下的c++/c开发,但是一段时间没用连不上了,整个一上午终于整明白了。然后重新点开蓝色图标,按照步骤连接输入密码进行连接,选择对应的文件,就可以使用了,也可以打开命令窗口进行操作。我已经有连接了,也可以添加一个新的。
2025-06-26 16:45:55
213
原创 Linxu02进程间的通信(消息队列)
用于或,以供后续使用key_t key类型为key_t,通常通过ftok()函数生成。用于唯一标识一组共享的 IPC(进程间通信)资源(如消息队列、共享内存、信号量等)。特殊值表示始终创建一个新的、独立的消息队列,不与已有的key相匹配。int msgflg由(类似文件权限)和组成,用于控制行为。权限位使用八进制值表示,如0666(用户、组、其他都可读写)。IPC_CREAT:若消息队列不存在,则创建它;IPC_EXCL:与IPC_CREAT一起使用,若消息队列已存在,则msgget()
2025-06-24 17:19:55
776
原创 Linux02进程间的通信(有名管道-无关进程之间的通信)
相当于创建一个文件,操作函数为mkfifo("文件路径",操作权限)然后进行文件的读写操作从而完成进程之间的数据传递创建完毕之后,进程要进行文件的读写操作(对于文件的光标操作是禁止的!不支持 lseek()),注意:当open一个命名管道时,需要考虑设置阻塞标志:如果没有设置(默认状态),当一个进程要读文件时会产生阻塞,只有当某个进行写操作时才可以打开阻塞,当一个进程要写一个文件时也会产生阻塞,只有对应的读操作进程可以打开阻塞。(读取双方无论是 谁先执行都会等待对方)
2025-06-21 20:59:11
278
原创 Linux02进程间的通信(无名管道-父进程与子进程之间的通信)
相比于在父进程中定义的其他变量,子进程中也会有一份同样的并且是相互独立的,但是在父进程中定义的管道确实共享的,why?
2025-06-21 17:25:00
310
原创 Linux 应用开发:文件操作01
lseek函数可以控制文件光标的位置,常用的操作是重置光标,因为当写入文件后如果不关闭直接进行读取的话是读不到数据的,因为光标位置在最后,需要重置,还可以用于统计文件中的字符个数。若文件不存在则创建它。使用此选项时,需要同时说明第三个参数 mode,用其说明该新文件的存取许可权限。属性去打开文件时,如果这个文件本来是有内容的,而且为只读或只写成功打开,则将其长度截短为 0。实例应用:打开--->写入数据------>读取数据------->关闭文件。当我们附带了权限后,打开的文件就只能按照这种权限来操作。
2025-06-21 10:31:04
298
原创 力扣209题<长度最小的子数组>滑动窗口
首先end指针一直向后移动,前6个元素的和为6小于102,end 继续移动元素之和为106符合条件,这时符合条件的一个区间的最大范围已经确定,需要通过移动start起始指针看看是否可以缩小区间的范围。end指针停止,start指针向后移动并将sum的值依次减小。这道题使用滑动窗口的主要思路是起始位置指针的移动,一般来说主要是通过end结束指针来划分有效的范围,由start起始指针来缩小目标值的范围。[1,1,1,1,1,1,100] target=102 最小长度应该是3。
2023-12-12 21:09:11
384
原创 STM32自学练手1“智能人数控制系统”(GPIO+EXTI外部中断)
学习完江科协的STM32教程的GPIO+EXTI部分利用套件实现了一个小的功能。这款套件包含了F103c8t6最小系统版、面包板、LED灯、按键、OLED显示屏、对射式红外传感器、蜂鸣器以及杜邦线等元件。这个智能人数控制系统的工作原理非常简单明了。当人们依次刷卡进入区域时,系统会限制每次只能进入10人。当人数未超过10人时,绿灯会闪烁,伴随着蜂鸣器的短促鸣叫声,OLED显示屏上的人数会增加一。当刚好达到10人时,黄灯会闪烁,并伴随着蜂鸣器的短促鸣叫声。
2023-07-20 17:42:27
289
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅