
Linux
文章平均质量分 90
Linux学习笔记合集
_才疏学浅_
还有很多知识我不知道,还有很多知识需要我去学习,还有很多知识需要我组成体系
展开
-
【Linux】多路IO复用技术③——epoll详解&如何使用epoll模型实现简易的一对多服务器(附图解与代码实现)
在正式阅读本篇博客之前,建议大家先按顺序把下面这两篇博客看一下,否则直接来看这篇博客的话估计很难搞懂多路IO复用技术①——select详解&如何使用select模型在本地主机实现简易的一对多服务器多路IO复用技术②——poll详解&如何使用poll模型在本地主机实现简易的一对多服务器在了解以上两篇博客讲解的内容后,我们正式开始本篇博客的相关内容讲解,第三种多路套接字监听技术——epoll模型,并在其优点上进行了进一步的优化,接下来,我们就来了解一下epoll模型的进行多路套接字监听的原理吧。原创 2023-11-04 23:56:27 · 996 阅读 · 0 评论 -
【Linux】多路IO复用技术②——poll详解&如何使用poll模型实现简易的一对多服务器(附图解与代码实现)
一个进程默认打开的最大文件描述符个数就是1024,我们可以通过ulimit -a命令在终端下查看,如下图所示所以,当我们在poll函数中的最大监听数那个位置,填入比1024更大的数值的话,系统就会报错,警告Invalid argument——无效的参数想要填入比1024更大的数值,我们就需要去修改默认的文件描述符数量,由于每个系统,甚至每个版本改动文件描述符数量的操作方式不一定一样,所以这里就不多作介绍了,感兴趣的同学可以去查一下对应自己系统、对应自己版本的修改方式原创 2023-11-04 16:10:32 · 1537 阅读 · 0 评论 -
【Linux】多路IO复用技术①——select详解&如何使用select模型实现简易的一对多服务器(附图解与代码实现)
这一篇的篇幅可能有点长,但真心希望大家能够静下心来看完,相信一定会有不小的收获。那么话不多说,我们这就开始啦!!!原创 2023-10-29 20:41:37 · 1814 阅读 · 0 评论 -
【Linux】网络编程相关结构体与函数
想要实现服务端与客户端一对一的信息传输,我们需要先了解一些基础的结构体与相关函数。原创 2023-10-20 13:43:56 · 659 阅读 · 0 评论 -
【Linux】线程安全问题①——互斥锁原理讲解&如何用互斥锁实现资源访问互斥(附图解与代码实现)
线程安全主要分为两个方面,分别是本篇博客,我们主要来讲解资源访问互斥这一方面。原创 2023-10-16 15:53:52 · 658 阅读 · 0 评论 -
【Linux】线程属性的定义&如何修改线程属性(附图解与代码实现)
我们知道,在创建线程时,会用到pthread_create()函数 ,我们来简单介绍一下该函数:pthread_create(线程的tid , 线程属性 , 工作函数名 , 函数需要的参数);这篇博客要讲的线程属性,便是用于进行线程的初始化的,我们可以通过对线程属性的修改来自定义线程,接下来我们来了解一下什么线程属性。原创 2023-10-15 18:03:25 · 982 阅读 · 0 评论 -
【Linux】线程的几种退出方法(知识点小记)
PS: pthread库不是Linux系统默认的库,而是属于NPTL线程库,NPTL线程库存放在用户层,连接时需要使用静态库libpthread.a,所以在线程函数在编译时,需要连接库函数,如用gcc,使用格式为: gcc 文件名 -l pthread -o 编译文件名。原创 2023-10-15 15:11:24 · 655 阅读 · 0 评论 -
【Linux】信号屏蔽与信号捕捉的原理与实现(附图解与代码实现)
采用自定义信号队列来帮助信号进行排队。为什么这两大类信号会有这样的差别呢?这就要涉及到这两大类信号的功能了。我们知道,1-31号信号大多是用来杀死或挂起进程的,而进程你杀一次或者挂起一次就行了,你要是支持排队的话,那就会变成来一个信号杀一次,来一个信号又杀一次,杀完之后继续杀,咋的,杀一次不过瘾,还要鞭尸啊?这也就是Unix经典信号不支持排队的原因。而34-64号信号为什么排队呢?原创 2023-10-07 18:59:33 · 825 阅读 · 0 评论 -
【Linux】信号简介与触发信号的几种方式
定义Linux操作系统中重要的消息机制功能主要被用于进程干预处置,大多数信号的作用是杀死或挂起进程,只有少部分的信号不是用来杀死或挂起进程个数64个,可通过命令 kill -l 来查看系统支持的信号这个时候有些同学可能就会有下面这些疑惑要是信号只是用来杀进程的话,只设计一个信号直接干掉进程不就得了嘛?为什么这么多信号,还大多数信号都是用来干掉或挂起进程的?这里我们来做一个情景假设,相信大家很容易就明白了。原创 2023-10-06 17:52:03 · 694 阅读 · 0 评论 -
【Linux】进程间通信方式②——文件共享映射(附图解与代码实现)
我们来简单了解下文件共享映射的定义:通过映射文件,使用映射机制,实现资源共享,完成进程通信具体是如何实现的呢?跟随着这篇博客,我们来看一看。原创 2023-09-24 15:00:04 · 579 阅读 · 0 评论 -
【Linux】进程间通信方式①——匿名管道与命名管道(附图解与代码实现)
这时候一段有趣的对话就出现了:进程1:大哥,我这边管道创建好了,读写的那两个文件描述符我也拿到了,你快来用这个管道啊!进程2:老弟呀,大哥我知道你啥都搞好了,但是我这边没有那两个文件描述符来对管道进行读写啊进程1:那还不简单,大哥你也用pipe函数创建一个管道获取文件描述符呗!进程2:老弟呀,我要用pipe函数了,我这不就创建了一个新的管道了嘛,我还是对你创建的那个管道没有读写权限啊进程1:那咋整啊大哥,老弟我有一大堆话想通过管道跟你说呢进程2:老弟啊,现在就只有一个办法了!原创 2023-09-15 17:26:19 · 464 阅读 · 0 评论 -
【Linux】浅聊僵尸态进程的产生原因与危害
当子进程退出时,父进程没有读取到子进程的返回代码,子进程就会进入僵尸态。僵尸进程会以终止状态保持在进程表中,并且会一直在等待父进程读取返回代码。原创 2023-09-10 18:52:48 · 926 阅读 · 2 评论 -
Linux中execl函数详解与日常应用(附图解与代码实现)
exec函数族原创 2022-06-02 03:18:09 · 31579 阅读 · 7 评论 -
Linux中的僵尸进程与wait函数、waitpid函数详解(附图解与代码实现)
僵尸进程的概念及危害僵尸进程,子进程先于父进程退出,但是系统回收进程资源时,子进程PCB残留,这个进程为僵尸进程危害:1.PCB残留导致内存泄露2.由于PCB创建的数量是固定的,一个僵尸进程会占用一个PCB,从而影响新进程的创建父进程先于子进程退出的话会产生孤儿进程为什么PCB会有残留呢?我们假设张三的孩子张思睿出了车祸,医院没救过来,结果医院直接一把火给尸体烧了,你说这合理吗?这显然不合理,只有父母有权来决定自己的孩子尸体怎么处理,父母可以通过别的方式来知道自己的孩子.原创 2022-05-26 14:43:05 · 1386 阅读 · 0 评论 -
Linux基础命令PartOne+命令行界面讲解(附图解)
记录自己学习Linux的第一天今天学习的是linux的部分常用命令,老师建议我们在学习这一部分时记一下笔记,我就记在优快云了,希望给大家带来一些帮助,也方便自己回来查看,非常的nice! 目录一 . ls命令1 . 直接输入ls 2. ls -a ...原创 2022-05-04 23:04:13 · 1203 阅读 · 0 评论 -
Linux中fork函数详解(附图解与代码实现)
我们先来看个代码,判断一下这个代码的输出结果会是什么样的,先不要去看运行结果,判断好后再去看看是否和你的预期结果一致。#include<stdio.h>#include<unistd.h>#include<stdlib.h>#include<string.h>int main(void){ pid_t pid; pid = fork(); printf("xxxxxxxxxx\n"); while (1) { sleep(1)原创 2022-05-21 01:39:01 · 9103 阅读 · 12 评论 -
Linux基础命令PartTwo(附图解)
记录自己学习Linux的第二天今天学习的还是linux的部分常用命令,老师建议我们在学习这一部分时记一下笔记,我就记在优快云了,希望给大家带来一些帮助,也方便自己回来查看,非常的nice!目录一. history命令二. rm命令三. mv命令四. cp命令五. head命令一. history命令功能:显示历史记录和执行过的指令命令语法:history [选项] [参数]选项:-N: 显示历史记录中最近的N个记录; -c:清空当前历史命令..原创 2022-05-05 22:27:28 · 167 阅读 · 0 评论