![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
ScissorsD_初夏
struct
展开
-
Linux_迷你shell将其执行为守护进程
/* * 编写一个简易得shell,实现能够运行shell的外部命令 * 1.读取缓冲区 * 2.解析输入 * 3.创建子进程 * 4.程序替换 */#include<stdio.h>#include<unistd.h>#include<stdlib.h>#include<string.h>#include<errno.h>#include<ctype.h>#include<s.原创 2020-05-27 12:15:35 · 331 阅读 · 0 评论 -
Linux_Shell脚本运行服务器以防止出现服务器崩溃情况
在毕业设计中发现服务器启动一天后如果再次访问就会崩溃,在代码中逐模块查询许久没有所得,查询该服务器进行地CPU,内存占用情况未发现异常。查询使用CPU最活跃地前10个进程ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head查询使用内存最活跃地前10个进程ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head查询某一个进程CPU,内存等占用情况top -p PID使用sh原创 2020-05-27 12:11:44 · 431 阅读 · 0 评论 -
进程间通信之消息队列的基本使用
/*********************************************** 进程间通信之消息队列* *******************************************/#include<sys/types.h>#include<sys/msg.h>#include<stdio.h>#include&l...原创 2020-04-14 10:58:36 · 335 阅读 · 0 评论 -
初夏小谈:AI云盘系统
一、做AI云盘系统项目的目的:解决由于经常将一些以前的文件删除,而现今或者以后可能用到的尴尬境地。解决云盘下载限速的问题:在本地虚拟机CentOS7上:30M/S~60M/S,在云服务器上:0.2M/S~1M/S二、AI云盘系统主要功能为:客户端对指定的一个目录进行监听,将比较重要的文件添加到此目录下,系统会自动根据文件的状态信息来对文件进行上传至服务器。并且可以随时随地的进...原创 2019-07-29 14:47:25 · 660 阅读 · 0 评论 -
初夏小谈:传输层之UDP协议与TCP协议三次握手四次挥手
一.UDP协议: 1.UDP协议总体说明 1.其特点:无连接,不可靠,面向数据报。 2.UDP协议报头由源端口,目的端口,数据包长度,校验和组成。并且报头占8B。 4.查看UDP报头: vi /usr/include/netinet/udp.h 2.UDP的缓冲区: 1.UDP没有真...原创 2019-05-31 18:46:49 · 302 阅读 · 0 评论 -
最常用的两种C++序列化方案的使用心得(protobuf和boost serialization)
1.什么是序列化?2.为什么要序列化?好处在哪里?3.C++对象序列化的四种方法4.最常用的两种序列化方案使用心得正文1.什么是序列化?程序员在编写应用程序的时候往往需要将程序的某些数据存储在内存中,然后将其写入某个文件或是将它传输到网络中的另一台计算机上以实现通讯。这个将 程序数据转化成能被存储并传输的格式的过程被称为“序列化”(Serialization...转载 2019-05-31 15:11:53 · 389 阅读 · 0 评论 -
初夏小谈:网络通信基础之应用层
应用层:应用层程序之间的数据交流,就是程序员自己所写的程序,程序与程序之间进行数据交流时,就需要有一种协议来保证数据的准确传送。协议分为:一. 自定制协议: 序列化:就是数据以指定协议格式进行持久化存储或者是发送端以一种特定格式进行数据传输时的排布方式。 反序列化:接收端按照指定的协议格式对传输过来的数据进行解析的过程。二. 知名协议:h...原创 2019-05-31 15:09:07 · 410 阅读 · 0 评论 -
初夏小谈:基于TCP协议的网络通信(线程池实现)
一、TCP通信网络中可能用到的接口:1.创建套接字int socket(int domain, int type, int protocol);2.绑定地址信息和端口int bind(int sockfd, const struct sockaddr *addr,socklen_t addrlen);3.开始监听:告诉操作系统可以开始与用户进行三次握手连接;每一个客户端到来都...原创 2019-05-27 18:18:05 · 697 阅读 · 0 评论 -
初夏小谈:基于UDP协议的网络通信
一、通信基础:在网络通信中必须要知道的几个属性1.IP地址:(1).就是唯一标识网络中的一台主机。我们所常用的是IPV4,它是32位,四个字节的数字(uint32_t)。由于数字太长我们不便于记忆,所以就用点分十进制的字符串来表示,便于记忆,比如:192.168.166.132(2).由于IPV4是32位这意味这只能表示4,294,967,296台主机,大约42亿九千万台,在当今...原创 2019-05-27 17:27:00 · 578 阅读 · 0 评论 -
初夏小谈:全面剖析多线程(四)之线程池
多线程之线程池一、什么是线程池?线程池顾名思义:就是就是一堆线程放在一个池子里呵呵。这说的有点过分。可以通过这样的更好的理解线程池是什么?线程池就是一批线程和一个放任务的线程安全队列。这批线程是具有最大数量上限的。线程池可以用来处理并发进行处理从而提高任务处理速度。二、线程池的实现:当服务器一瞬间来了大量需要处理的任务时,这时线程池中的线程数量远远少于需要处理任务,那么任...原创 2019-05-17 15:45:52 · 379 阅读 · 0 评论 -
初夏小谈:全面剖析多线程(二)
一、再谈线程安全之条件变量2条件变量用于实现线程间的同步即唤醒与等待。条件变量和互斥锁搭配使用,是因为条件变量本身不具备操作判断的功能,对条件的判断是临界资源的操作,必须保证是原子操作。1.实现多线程操作:在之前的实现的是单线程,并且只用了一个条件变量这导致了唤醒时会混乱,将不知唤醒是做饭的人还是吃饭的人。所以就要用多个条件变量来唤醒和等待不同的对象。在实现中pthread_...原创 2019-05-07 21:00:46 · 258 阅读 · 0 评论 -
初夏小谈:全面剖析多线程(一)
一、多线程是什么?1.在说起多线程前,要先来说说进程,那么进程又是什么呢?进程进程顾名思义,就是运行中的程序,这个说法不够精确。在操作系统中,一旦一个程序被运行起来,它就会被加载到内存中,操作系统就会为它创建一个进程控制块来将这个程序描述起来。至此以后运行的信息都会被进程控制块记录起来(PCB),因此进程控制块就是进程就是PCB,在Linux下进程可以看作是task_struct结构体。...原创 2019-05-06 23:17:47 · 331 阅读 · 0 评论 -
初夏小谈:开启网络编程之基础篇《协议》
网络的诞生,从开始的人们只能从一个电脑处理一部分任务,再将处理的任务数据在拷贝下来去另一台电脑上在进行其它相关的任务处理。但这样处理一些小的任务时不会太麻烦。但是如果处理比较多次的拷贝处理任务那么这就变得非常麻烦了,或者如果任务处理的主机距离非常远,这样也会变得处理艰难。所以开始近距离近的就使得处理同一份任务的电脑连接在同一主机上。当有的由于各种原因不能相互连接时就诞生了局域网,它通过路由器来交...原创 2019-05-18 22:26:54 · 650 阅读 · 0 评论 -
初夏小谈:全面剖析多线程(三)
续线程安全一、POSIX信号量1.信号量是什么?信号量顾名思义就是信号的数量即进行资源的计数,它是具有等待队列的计算器。2.信号量的功能?信号量的作用:主要是实现进程或线程间同步的具体说明: 1.先初始一个资源计数变量 2.当进行获取资源时,会先进行资源判断。当资源数大于0时,则说明有资源,进行资源数-1,将资源取出,直接返回。若资源数小于0时,则说明...原创 2019-05-08 21:30:44 · 292 阅读 · 0 评论