![](https://img-blog.csdnimg.cn/20200508110651518.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux
文章平均质量分 72
存放Linux内容
小 琛
你什么都没有,却还为我的梦加油
展开
-
Linux——线程池
作者:小 琛欢迎转载,请标明出处原创 2021-04-01 17:04:45 · 59 阅读 · 0 评论 -
Linux——使用GDB分析core dump文件
转载于:jiange_zh原文链接前言在编程过程中,我们可能常常遇到程序可以通过编译, 但在运行时出现Segment fault(段错误)。 产生段错误就是访问了错误的内存段。产生段错误时,并不像编译错误一样会提示到文件的某一行, 而是没有任何信息, 这使得我们的调试变得困难起来,特别是代码量比较大的时候,单步调试很麻烦。这时段错误转储的core文件就派上用场了。产生core dump下面我们将通过一个例子来说明core文件的使用。首先编写一份错误的代码:#include<iostre转载 2021-01-12 13:41:17 · 1864 阅读 · 0 评论 -
多路转接IO:poll与epoll的使用
文章目录多路转接IO的存在意义poll(了解即可)与select的对比接口函数poll的性能分析epoll(重点学习)epoll的评价接口函数epoll的两种触发方式水平触发边沿触发解析epoll的底层epoll使用的例子 -> epoll与tcp通信多路转接IO的存在意义多路转接IO,通常也称为多路复用IO。作用:IO多路转接可以实现对大量描述符的监控,监控的事件可以为可读、可写、异常等。当我们使用多路转接的时候,若某时刻该接口发现了监控下的某个描述符就绪,就会通知进程,进而针对该描述符进原创 2021-01-10 17:18:41 · 241 阅读 · 0 评论 -
多路转接IO :select的基本使用
作者:小 琛欢迎转载,请标明出处文章目录多路转接IO的意义select作用接口函数poll用法多路转接IO的意义select作用接口函数poll用法原创 2021-01-08 20:08:34 · 270 阅读 · 0 评论 -
Linux——Linux下文件压缩、解压命令大集合
作者:小 琛欢迎转载,请标明出处本文章参考于:博主“饮水思源09” 原文地址最近在做一些小项目,总是要用到压缩和解压命令,而Linux下压缩包的后缀种类又很多,故写此总结方便以后查询笔者用的系统为centos,其它的系统未测试过文章目录.tar.gz.tar.gz和.tgz.bz和.bz2.tar.bz和.tar.bz2.z和.tar.z.zip.rar.lha.rpm.7z.tar.tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar原创 2020-12-14 15:54:40 · 126 阅读 · 0 评论 -
centos下http协议调试出现无法正常应答问题的解决
作者:小 琛欢迎转载,请标明出处在使用centos学习http协议的时候,我们往往会制作一个应答然后使用浏览器来测试,但经常出现无法加载。很多人无法找寻原因。centos防火墙对端口号的限制其实原因在于centos默认打开防火墙,也就意味着,默认情况下只会监听22端口,而我们使用其它端口进行测试的时候,是无法正常访问的!!!查看防火墙状态:systemctl status firewalld查看端口是否被防火墙禁止如果想查看某一端口是否在防火墙中启用可使用: firewall-cm原创 2020-12-01 16:25:57 · 527 阅读 · 0 评论 -
Linux——多线程中的同步与互斥
作者: 小 琛欢迎转载,请标明出处文章目录一个多线程程序的设计从内核角度解析互斥与同步存在的意义互斥——保证资源访问的安全同步——保证资源访问的合理帮助理解,例子:吃面条互斥与同步的实现接口函数代码实现吃面条一个多线程程序的设计互斥+同步(如果需要)互斥:保证同一个时刻,只有一个执行流在访问临界资源。同步:保证多个执行流对临界资源访问的合理性。从内核角度解析互斥与同步存在的意义互斥——保证资源访问的安全多线程区别于多进程:在内核中是并行的,同时拥有相同的虚拟地址空间,从而拥有相同的数原创 2020-11-23 16:27:03 · 200 阅读 · 1 评论 -
Linux——线程安全、互斥锁的使用
作者:小 琛欢迎转载,请标明出处文章目录为什么会有线程安全问题互斥锁的引入互斥锁的使用函数接口例子:抢票系统死锁的概念为什么会有线程安全问题我们知道,多线程编程时,创建出来的线程对应同一个虚拟地址空间,即拥有相同的数据,假设多个线程同时运行,都在访问同一个临界资源,就会出现问题。例如:因此,为了避免程序出现二义性,要保证在同一时刻,一个临界资源只能被一个执行流访问。互斥锁的引入互斥锁:本质上是一个计数器,而这个计数器的取值只有0或者1。0代表不能加锁,意味着不能去访问临界资源,互斥原创 2020-11-20 16:01:17 · 751 阅读 · 0 评论 -
Linux——进程间通信之共享内存
作者:小 琛欢迎转载,请标明出处共享内存原理与特性原理:创建共享内存的时候,则在物理内存中开辟一段空间,各个进程通过自己的页表结构,将物理空间映射到自己的虚拟地址空间上的共享区,各个进程通过操作自己的虚拟内存上面的共享区来进行通信。特性:共享内存是最快的进程间通信方式共享内存是不带有同步和互斥功能的写入数据是按照覆盖的方式进行的生命周期跟随操作系统内核接口函数int shmget(key_t key,size_t size,int shmflg)功能:创建共享内存参原创 2020-11-06 17:33:05 · 138 阅读 · 1 评论 -
Linux——进程间通信之管道
作者:小 琛欢迎转载,请标明出处每一个进程都是拥有自己独立的虚拟地址空间和页表结构,促使了进程独立,这也导致了进程之间合作存在问题,为了解决该问题,产生了进程间的通信。管道...原创 2020-11-06 14:40:06 · 96 阅读 · 0 评论 -
Linux——进程的控制(创建、等待、替换、退出)
作者:小 琛欢迎转载,请标明出处进程的创建fork函数fork函数:它从已存在进程中创建一个新进程。新进程为子进程,而原进程为父进程。#include <unistd.h>pid_t fork(void);返回值:子进程中返回0,父进程返回子进程id,出错返回-1当一个进程调用fork之后,就有两个二进制代码相同的进程。而且它们都运行到相同的地方。这是因为在创建新的进程的时候,会拷贝原有的PCB信息。 1 #include "stdio.h" 2 #includ原创 2020-11-04 14:36:03 · 110 阅读 · 0 评论 -
Linux——为什么大佬都将进程地址空间称为虚拟地址空间
作者:小 琛欢迎转载,请标明出处我们看到的地址是真实的物理地址吗?来看一个例子:以下代码中,父子进程同时对一个变量num进行了运算,父进程让其加,子进程让其减,随之打印其地址。#include "stdio.h" 2 #include "unistd.h" 3 #include "sys/types.h" 4 #include "sys/wait.h" 5 int main() 6 { 7 int num=10; 8 pid_t pid=fork();原创 2020-11-04 11:19:48 · 111 阅读 · 0 评论 -
Linux——多线程的控制
作者:小 琛欢迎转载,请标明出处原创 2020-04-21 16:23:14 · 157 阅读 · 0 评论 -
Linux——多线程的初识
作者 :小 琛欢迎转载,请标明出处原创 2020-04-09 15:19:29 · 126 阅读 · 0 评论 -
matlabR2012a 激活文件 lic_standalone.dat 出问题的解决办法
打开文件夹将里面的lic_standalone.dat用写字板模式打开将里面的代码删除改为下面的内容,要全部复制# MATLAB license passcode file for use with FLEXlm.# LicenseNo: 161052 HostID: ANYINCREMENT Aerospace_Blockset MLM 99 permanent uncount...原创 2020-03-29 15:55:19 · 853 阅读 · 0 评论 -
Linux——文件IO流基础
作者:小 琛欢迎转载,请标明出处本博文将分为两部分:C语言中的文件流指针、Linux下的系统调用文件操作C语言中的文件流指针FILE* fopen(const char* path,const char* mode)函数功能:打开一个文件入口参数:1、需要打开的文件(可以带路径,若不带路径默认当前目录寻找)2、打开的方式返回值:...原创 2020-03-18 16:47:25 · 693 阅读 · 0 评论 -
Linux——解析文件描述符“int fd”真正含义
作者:小 琛欢迎转载,请标明出处引言在Linux 的学习过程中,不可或缺的就是对于文件操作的学习,我们通常也称之为IO模块。而其中的多个函数的参数都有一个“int fd”。例如:解析文件描述符的真正含义看上图,其中,当创建一个进程之后,随之有了它的PCB(进程控制块),它存放各种信息。其中就有一个 struct files_struct* files的指针,该指针指向一个结构体...原创 2020-03-03 21:52:23 · 3755 阅读 · 0 评论 -
Linux——环境变量
作者:小 琛欢迎转载,请标明出处原创 2020-01-03 13:17:13 · 88 阅读 · 0 评论 -
Linux——进程状态
作者:小 琛欢迎转载,请标明出处原创 2020-01-03 12:27:01 · 87 阅读 · 0 评论 -
Linux——解读操作系统
的原创 2019-12-30 16:13:52 · 133 阅读 · 1 评论 -
Linux——Linux下git/GitHub的使用
地方都是原创 2019-12-29 18:02:37 · 90 阅读 · 0 评论 -
Linux——make与Makefile
作者:小 琛欢迎转载,请标明出粗Linux 项目自动化构建工具 —— make/Makefilemake 是一条命令,Makefile 是一个包含依赖关系和依赖方法的文件make 是一条命令,Makefile 是一个包含依赖关系和依赖方法的文件make只执行一次,而 .PHONY:clean 总是被执行(因为clean是伪目标)Makefile 的编写Makefile 中多变量的...原创 2019-12-27 14:49:30 · 111 阅读 · 0 评论 -
Linux——gdb的使用(调试程序)
作者:小 琛欢迎转载,请标明出处引言:在使用VS编写代码时,调试是必不可少的一个内容,而Linux中也有相应功能,对于代码的编写者,这是非常重要的一个技能。使用须知对于一个程序,有debug版本和release版本,release版本也成为上线版本,而要具备调试功能,则必须在debug版本下。1、Linux gcc/g++出来的二进制程序,默认是release模式2、要使用gdb调试,...原创 2019-12-25 20:14:29 · 119 阅读 · 0 评论 -
Linux——vim的基本操作
作者:小 琛欢迎转载,请标明出处原创 2019-12-23 18:31:57 · 148 阅读 · 1 评论 -
Linux——借助Linux的gcc/g++解析程序的编译过程
作者:小 琛欢迎转载,请标明出处原创 2019-12-23 17:14:11 · 136 阅读 · 0 评论 -
Linux——yum的使用
作者:小 琛欢迎转载,请标明出处原创 2019-12-23 16:14:23 · 195 阅读 · 0 评论 -
Linux——关于权限的解读
作者:小 琛欢迎转载,请标明出处Linux下有两种用户:超级用户(root)、普通用户。·超级用户(root):可以再在Linux系统下做任何事情,不受限制,就像Linux中的神,拥有至高无上的权利·普通用户:在linux下做有限的事情。超级用户的命令提示符是“#”,普通用户的命令提示符是“$“。命令:su [用户名]功能:切换用户。例如,要从root用户切换到普通用户user,则...原创 2019-12-21 15:58:25 · 249 阅读 · 0 评论 -
Linux——Linux下的基本指令(2)
作者:小 琛欢迎转载,请标明出处原创 2019-12-21 15:07:25 · 73 阅读 · 0 评论 -
区分大小端
作者:小 琛欢迎转载,请标明出处大端、小端在该大标题下我们还需要了解一个内容:大端和小端什么是大端和小端:大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地址中。方便记忆:大端:低地址存放高数据小端:低地址存放低数据一道面试问题:如何判断大小端代码:...原创 2019-12-09 19:43:10 · 184 阅读 · 0 评论 -
Linux——Linux下的一些基本指令(1)
作者:小 琛欢迎转载,请标明出处Linux下基本指令这里无法将指令操作全部罗列,博主就重要程度来挑选,带*的为重要指令ls作用:罗列出当前文件夹下的所有内容常用操作(注意下面的操作中,‘-’前都有一个空格,这个空格必不可少):ls -l:显示当前文件内所有内容的详细信息ls -a:查看该文件夹下的隐藏文件ls -t:按照修改时间进行排序ls -r:对目录反向排序。ls...原创 2019-12-05 20:46:50 · 200 阅读 · 0 评论