
c++
rebootcat
https://rebootcat.com
展开
-
TCP全连接和半连接的问题探讨
个人博客: https://rebootcat.com/2020/11/14/tcp_accept/从何说起说起 tcp 的连接过程,想必 “3次握手4次挥手”是大家广为熟知的知识,那么关于更细节更底层的连接过程也许就很少人能讲清楚了。所以本文会先简单回顾一下 tcp 的 3次握手过程,然后重点聊一下 tcp accept 的过程,涉及到 tcp 半连接队列、全连接队列等的内容。回顾一下3 次握手要了解 3 次握手的过程,可能需要先熟悉一下 tcp 协议的格式:tcp segment .原创 2020-11-13 23:42:05 · 1967 阅读 · 0 评论 -
free not return memory
个人博客:https://rebootcat.com/2020/11/05/free_mem/内存泄露?观察到一台机器上的内存使用量在程序启动之后,持续增长,中间没有出现内存恢复。怀疑是不是出现了内存泄露的问题?然后使用相关的内存分析工具进行了分析:gperfvalgrind (massif)手工标记内存分配释放上述的分析结果均不能很肯定的得出是否内存泄露的结论。那么问题可能出现在哪里呢?程序采用 c++ 编写,大量使用了智能指针以及 new/delete,难道内存没有成功释放?亦或.原创 2020-11-13 23:37:42 · 248 阅读 · 0 评论 -
Linux上隐藏进程名(初级版)
缘起上一篇博文 模仿nginx修改进程名 中提到了一种修改进程名的方法,就像 nginx 一样,给不同进程命名为 master 以及 worker 等。那么能不能把新进程名设置为空字符串呢?如果能,又会有哪些应用场景呢?答案可能是能的,设置新进程的名字为空,通常用来隐藏进程,用于攻击或者反攻击。prctl 函数上一篇博文 模仿nginx修改进程名 文章末尾提到了 prctl 这个函数,它也可以用来修改进程名。只不过如果单单使用 prctl 来修改进程名的话,使用 ps 或者 top 等工具看到的可原创 2020-10-31 10:50:40 · 687 阅读 · 0 评论 -
模仿nginx修改进程名
个人博客原文: https://rebootcat.com/2020/10/25/setproctitle/nginx 进程名使用 nginx 的过程中,我们经常看到 nginx 的进程名是不同的,如下:$ ps -ef |grep nginx smaug 1183 1115 0 05:46 pts/2 00:00:00 grep --color=auto nginxroot 14201 1 0 2019 ? 00:00:00 nginx: m.原创 2020-10-31 10:49:33 · 685 阅读 · 1 评论 -
epoll 入门例子 tcp server/client
原文: https://rebootcat.com/2020/09/26/epoll_examples/复习一下上一篇博文 epoll原理深入分析 详细分析了 epoll 底层的实现原理,如果对 epoll 原理有模糊的建议先看一下这篇文章。那么本文就开始用 epoll 实现一个简单的 tcp server/client。本文基于我的 github: https://github.com/smaugx/epoll_examples。epoll 实现范式# create listen socke.原创 2020-09-25 20:54:57 · 2732 阅读 · 0 评论 -
cmake教程|cmake入门实战
旧博文,搬到 csdn原文:http://rebootcat.com/2020/09/02/cmake/前言我是一个 linux c++ 开发者,但是一直对 Makefile 的语法很是头痛,每次都记不住,所以每次写 Makefile 都很痛苦,Makefile 里需要你自己编写依赖和推导规则,这个过程能不能简单点呢?对于编译一个 C++ 工程来说,也许需要的就是头文件路径、库路径、编译参数,剩下的东西基本也不重要,这三样足够去编译一个工程了。所以有没有一个工具能简单点的去实现 C++ 项目的构.原创 2020-09-04 06:45:12 · 1925 阅读 · 0 评论 -
Scons构建C++项目
旧博文,搬到 csdn原文:http://rebootcat.com/2020/08/30/scons/前言我是一个 linux c++ 开发者,但是一直对 Makefile 的语法很是头痛,每次都记不住,所以每次写 Makefile 都很痛苦,Makefile 里需要你自己编写依赖和推导规则,这个过程能不能简单点呢?对于编译一个 C++ 工程来说,也许需要的就是头文件路径、库路径、编译参数,剩下的东西基本也不重要,这三样足够去编译一个工程了。所以有没有一个工具能简单点的去实现 C++ 项目的构.原创 2020-09-04 06:43:26 · 1317 阅读 · 0 评论