![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 50
一城婳
这个作者很懒,什么都没留下…
展开
-
selenium3+python3自动化测试-1 环境准备
linux配置之联网 https://blog.csdn.net/weixin_43871127/article/details/102062181原创 2021-07-14 17:30:24 · 238 阅读 · 6 评论 -
TCP/IP协议族
协议介绍(来自百度百科): Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telne...原创 2018-10-17 21:43:42 · 166 阅读 · 0 评论 -
进程的程序替换
进程的程序替换 函数介绍 如果这些函数调用成功就加载新的程序从启动代码开始执行,不再返回 如果调用出错就返回-1 exec函数只用出错的返回值而没有成功的返回值 ...原创 2018-08-26 10:30:40 · 174 阅读 · 0 评论 -
vim的入门操作(必会)
打开vim $ vim test.c 复制n行 5yy //复制5行 删除多行 dd 表示删除光标所在行. D 表示删除从当前光标到光标所在行尾的内容. 跳到文件开头 gg 跳到文件末尾 G 粘贴命令 p 替换字符串 :s/aa/bb/g 将光标所在行出现的所有包含 aa 的字符串中的 ...原创 2018-05-27 16:42:26 · 173 阅读 · 0 评论 -
C/C++内存机制
内存的申请方式 1. 静态内存 静态内存是指在程序开始运行时由编译器分配的内存,它的分配是在程序开始编译时完成的,不占用CPU资源。 程序中的各种变量,在编译时系统已经为其分配了所需的内存空间,当该变量在作用域内使用完毕时,系统会 自动释放所占用的内存空间。 变量的分配与释放,都无须程序员自行考虑。 eg: 基本类型,数组 2. 动态内存 用户无法确定空间大小,或者空间太大...原创 2018-06-14 11:28:10 · 147 阅读 · 0 评论 -
程序,进程和线程的区别
一个知乎上的例子 进程和程序有什么区别 进程是具有一定独立功能的程序关于一个数据集合的一次运行活动,是资源调度的基本单位。 a.程序是静态的,而进程是动态的; b.程序可以写在纸上或在某一存储介质上长期保存,而进程具有生存期,创建后存在,撤销后消亡; c.一个程序可以对应多个进程,但一个进程只能对应一个程序 进程和线程区别? 一个程序至少有一个进程,一个进程至少有一个线程. ...原创 2018-10-14 16:04:05 · 184 阅读 · 0 评论 -
TCP原来这么理解
目录 如何理解TCP/UDP协议 什么是TCP? TCP报文结构 TCP如何保证可靠性 如何编写TCP服务器 关于TCP中的accept(),listen(),bind()函数的理解? TCP粘包问题 如何理解TCP/UDP协议 什么是TCP? TCP(Transmission ControlProtocol,传输控制协议) 1.它是传输层的一个协议 2.它是一个面向连接的协议...原创 2018-09-22 16:51:35 · 1423 阅读 · 0 评论 -
进程的创建-------fork与vfork
目录 fork函数 fork的使用 vfork函数 fork() 与 vfock() 都是创建一个进程,那它们有什么区别呢? 进程的正常终止方法? 进程的异常终止 为什么vfork()子进程中可以调用_exit(),却不可以调用exit(),也不可以直接return呢? fork函数 fork的使用 头文件 #include<unistd.h> 函数原型 pi...原创 2018-08-01 08:13:38 · 216 阅读 · 0 评论 -
Linux下的常见命令
目录 内部命令 外部命令 ps命令 top命令 free命令 内部命令 内部命令实际上是shell程序的一部分, 这些命令由shell程序识别并在shell程序内部完成运行,不需要创建子进 程,xiao效率更高,执行速度更快 常见的内建指令有:cd exit echo history... 外部命令 外部命令的实体并不包含在shell中,但是其命令执行过程是由shell程序控制的...原创 2018-08-26 10:25:18 · 187 阅读 · 0 评论 -
UDP原来这样理解
目录 什么是UDP UDP报文头部 实现一个UDP服务器 什么是UDP UDP(User Datagram Prototocol 用户数据报协议) 1.它是传输层的一个协议 2.它是一个无连接的协议(我们可以理解为发短信,不需要建立连接就可以发送数据) 3.它是一种不可靠传输(因为它面向无连接,所以必然是一种不可靠的传输) 4.面向数据报(可以理解为像冰块一样一块一块发送数据) UDP...原创 2018-06-21 15:38:36 · 134 阅读 · 0 评论 -
Ping命令的过程
同一网段 1.ping通知系统建立一个固定格式的ICMP请求数据包 2.ICMP协议打包这个数据包和机器B的IP地址转交给IP协议层(一组后台运行的进程,与ICMP类似) 3.IP层协议将以机器B的IP地址为目的地址,本机IP地址为源地址,加上一些其他的控制信息,构建一个 IP数据包获取机器B的MAC地址 a.IP层协议通过机器B的IP地址和自己的子网掩码,发现它跟自己属同一网络,就直...原创 2018-08-26 10:28:00 · 1197 阅读 · 0 评论 -
HTTP中Get和Post的区别与联系(有无body)
GET和POST是什么? HTTP协议中的两种发送请求的方法。HTTP是什么? HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。 HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP,也就是说, GET/POST都是TCP链接。 1.GET参数通过URL传递,POST放在Request body中。 2.GET在浏览器回退时是无害的,而POST会再次提交请...原创 2018-07-31 14:55:35 · 1768 阅读 · 0 评论 -
进程间通信之消息队列
1消息队列是消息的链表,存放在内存中,由内核维护2消息队列的特点:-1,消息队列中的消息是有类型的-2,消息队列中的消息是有格式的-3,消息队列可以实现消息的随机查询.消息不一定要以先进先出的次序读取,编程时可以按照消息的类型读取-4,消息队列允许一个或多个进程向它写入或者读取消息.3与无名管道命名管道一样,从消息队列中读出消息,消息队列中对应的数据都会被删除4每个消息队列都有消息队列标识符,消息...原创 2018-05-27 16:53:29 · 145 阅读 · 0 评论 -
通用的HTTP服务框架
未完成测试,注释多,供参考 //该文件包含了整个HTTP服务器的实现 #include<stdio.h> #include<stdlib.h> #include<unistd.h> #include<sys/select.h> #include<sys/socket.h> #include<netinet/in.h> ...原创 2018-07-31 14:51:37 · 1048 阅读 · 0 评论 -
TCP三次握手与四次挥手
TCP(Transmission ControlProtocol,传输控制协议) 1.它是传输层的一个协议 2.它是一个面向连接的协议,连接前必须经历“三次握手”(我们可以理解为打电话,只有电话通了,两个人才可以说 话) 3.它是一种可靠传输 4.面向字节流(可以理解为像水一样传输数据)了解TCP协议的全过程 建立连接三次握手 1.第一次握手:客户端发送syn包(syn=x)到服务器,并进...原创 2018-07-31 15:05:18 · 228 阅读 · 0 评论 -
线程的公有资源和私有资源
线程是进程内部运行的执行流..linux下没有真正的线程.一般使用进程来模拟线程.Linux下的进程叫做轻量级进程. 线程是CPU调度的基本单位. 线程私有 上下文.(重要):优先级,寄存器组 线程具有私有的栈结构(重要) 保存其运行状态和局部自变量 其他. 线程ID 错误返回码 线程的信号屏蔽码:每个线程感兴趣的屏蔽信号可能...原创 2018-08-01 09:26:29 · 1744 阅读 · 0 评论 -
转发服务器
为什么需要转发服务器? 怎么实现转发服务? common.h #ifndef __COMMON_H__ //主要是公共的东西,一些头文件 #define __COMMON_H__ #include <stdio.h> #include <stdarg.h> #include <string.h> #include <errno.h> #i...原创 2018-08-29 11:02:37 · 3280 阅读 · 0 评论 -
进程的状态/僵尸进程/进程等待
目录 Linux进程状态 僵尸进程的避免 进程等待 为什么需要进程等待? 进程等待wait() 进程等待waitpid() 对于wait和waitpid两个函数,有所不同的是: 注意事项: Linux进程状态 Linux进程状态:R (TASK_RUNNING),可执行状态。 只有在该状态的进程才可能在CPU上运行。但并不一定在运行中,表示要么在运行中,要么在运行队列里...原创 2018-07-31 14:53:32 · 521 阅读 · 0 评论 -
Liunx之线程
什么是线程? 一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的 控制序列”。 一切进程至少都有一个执行线程。 多任务可以由多进程完成,也可以由一个进程内的多线程完成。 线程和进程的对比 进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。程序运行时系统就会创建一个进程,并为它 分配资源,然后把该进程放入进程就绪队列,进程调度器选中...原创 2018-06-14 10:59:26 · 123 阅读 · 0 评论 -
Linux五种IO模型
五种IO模型的理解阻塞IO(收银台等待) : 在内核将数据准备好之前, 系统调⽤会⼀直等待. 所有的套接字, 默认都是阻塞⽅式.⾮阻塞IO(座位等待) :往往需要程序员循环的方式反复尝试读写文件描述符, 这个过程称为轮询.信号驱动IO(等服务员叫):内核将数据准备好的时候, 使⽤SIGIO信号通知应用程序进行IO操作,其他线程挂起等待. (在多线程服务器中不太好)异步IO(前台叫号取餐) :由内核...原创 2018-07-31 14:48:57 · 152 阅读 · 0 评论 -
输入一个url会发生什么事
浏览器先查看浏览器缓存-系统缓存-路由器缓存,若缓存中有,请略过中间步骤,直接跳到第9步~若没有,则按照下面的 步骤进行操作。 浏览器从url中解析出服务器的主机名,并将主机名转换成服务器的IP地址。 PS:DNS查找域名的过程 浏览器从url中解析出端口号,默认80 浏览器建立一条与服务器的tcp连接(建立过程:三次握手)。 一个完整的TCP连接 浏览器通过tcp连接向服务器发送http请求,请...原创 2018-08-26 10:29:58 · 312 阅读 · 0 评论 -
进程间通信之管道
目录 为什么需要进程间通信 进程间通信的目的 什么是管道? 匿名管道 管道的创建 管道的读写规则 管道的特点 管道的实现 命名管道(FIFO) 创建一个命名管道 匿名管道和命名管道的区别 命名管道读写规则 为什么需要进程间通信 进程是一个独立的资源分配单元,不同进程(这里所说的进程通常指的是用户进程)之间的资源是独立的,没有关联,不能在一个进程中直接访问另一个进程的资源...原创 2018-05-20 19:11:46 · 210 阅读 · 0 评论