自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 如何创建一个守护进程

1.执行一个fork(),之后父进程退出,子进程继续执行。子进程会获得一个不同的进程ID,确保不是进程组的组长进程(这一步是第二步的能够实现的条件)。还有一个原因是父进程退出会让shell发出shell提示符,此时子进程会在后台运行有init进程接管。2.子进程调用setsid()开启一个新会话。为什么不能是组长进程?因为调用setsid()的进程会成为一个新的进程组的组长,如果该进程已经是一个进程组的组长,那么就出现了两个同名的进程组。setsid创建一个新会话并且切断进程与控制终端的关系。3

2021-02-24 15:40:50 349

原创 Web 页面请求过程

web页面请求过程1.DHCP配置主机信息-主机获取自己的IP地址及其他信息1). 主机生成一个DHCP请求报文,放入目的端口67和源端口68的UDP报文中2). 这个报文会广播与交换机连接的所有设备上,DHCP服务器收到后生成确认报文发送给主机,其中包括主机所需的IP地址,DNS服务器的IP地址以及默认网关路由器的IP地址和子网掩码3). 主机收到后配置自己的相关信息,并在IP转发表中安装默认网关2.ARP解析MAC地址-获取网关的mac地址(知道下一跳地址是哪)主机A通过广播的方式发送

2021-02-20 20:52:45 292

原创 DNS解析过程和DNS挟持

1. DNS解析过程1). 在浏览器中输入一个域名,操作系统会先检查自己本地的host文件里是否有对应的域名映射关系,有的话调用完成域名解析。2). 如果host中没有,就需要查找本地DNS解析缓存,如果有直接返回完成域名解析。3). 前面两者都没有,那么就需要向本地DNS服务器进行查询,如果有返回完成域名解析。4). 本地DNS服务器文件和缓存都没有找到,那么就有两种查询方式迭代查询:本地DNS把请求发送至根域名服务器,根域名服务器找到谁来管理这个域名,然后将应查询的顶级域名服务器IP返回给本地

2021-02-20 20:22:42 313

原创 浅谈pthread_join(), pthread_detach(), pthread_exit()

pthread_join()和pthread_detach()部分测试代码可参考 https://blog.youkuaiyun.com/weibo1230123/article/details/81410241一.pthread_join()pthread_join()即是子线程合入主线程,主线程阻塞等待子线程结束,然后回收子线程资源。pthread_create()函数在创建进程的时候默认创建出来的进程是joinable的状态,也就是说在主进程中后续需要加上pthread_join()这样一个函数保证在主线程

2021-02-08 16:05:21 569

原创 三次握手和四次挥手

连接建立-三次握手客户端向服务器发送连接请求报文段,包括自己的初试序号以及请求标志(SYN)。服务器收到后同意连接则返回确认,包括确认标志(ACK),请求标志(SYN),自己的序号以及对方的确认序号。客户端收到后返回确认,包括确认标志(ACK),自己的序号以及对方的确认序号。连接释放-四次挥手客户端请求断开,发送包括请求标志(SYN),自己的序号。服务器收到后返回确认,包括确认标志,自己的序号以及对方的确认序号。服务器确认已经没有要发送的数据再次返回确认,包括结束标志,确认标志,自己的序

2021-01-25 17:23:30 148

原创 五大基本排序算法

参考摘自:https://www.cnblogs.com/onepixel/articles/7674659.html整理一下剑指里提到的五大排序:冒泡、选择、快速、归并、堆,其中快速,归并和堆一定要熟。一、冒泡排序每次比较两个数,最大的数会默认排到最后面,最小的数慢慢地“浮”到最前来。void bubbleSort(vector<int> &arr) { int n = arr.size() - 1; for (int i = 0; i < n; i++)

2020-12-29 16:01:54 544

原创 深入理解计算机操作系统 在系统上运行程序

程序的生命周期在书本第一章第二节给出了下图所示的一个hello程序在系统上运行时的不同格式。C 语言代码最终成为机器可执行的程序,会像流水线上的产品一样接受各项处理,在第七章第一节给出了下图所示的流程:c程序转化成. i 文件,这一步是由预处理命令cpp完成将.i 文件的内容经过编译器处理转化为汇编代码汇编程序经过汇编器变为对象程序,即可重定位目标文件链接器通过将可重定位文件和静态库等处理变成可执行目标文件最后可执行文件加载到内存运行。在书的第三章讲解了汇编代码的部分语法,在书的第7

2020-08-07 16:47:55 1193

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除