logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

C++ linux

Linux C 多进程并发 TCP 服务器:从阻塞模型到 `fork()`、`SIGCHLD` 与 `EINTR`

本文介绍了Linux C语言下多进程并发TCP服务器的实现方法,重点分析了阻塞模型的局限性及使用fork()创建子进程的并发方案。文章首先解释了为何单进程阻塞模型无法同时处理多个客户端连接,随后详细阐述了多进程模型中父子进程的职责划分和工作流程,包括监听套接字(lfd)与已连接套接字(cfd)的区别、listen()函数的队列机制等关键概念。特别强调了fork()后文件描述符的共享关系,以及子进程

#服务器#linux#c语言
12.总结:深入理解 Linux I/O 多路复用:select、poll、epoll 全解析

本文深入解析了Linux系统中I/O多路复用的三种核心机制:select、poll和epoll。首先阐述了I/O多路复用的必要性,通过单线程监控多个连接解决了传统模型的资源浪费问题。随后详细对比了三者的实现原理与性能差异:select存在1024连接数限制和O(n)效率问题;poll改进了数据结构但仍需线性扫描;epoll采用红黑树和就绪链表实现了O(1)高效事件通知。文章重点剖析了epoll的三

#linux#运维#服务器
1.简单的服务端和客户端(仅作为内容补充)

本文介绍了Socket网络编程的核心概念和API设计要点:1. Socket是操作系统提供的网络通信接口,通过类比电话系统解释其基本操作;2. 详细说明TCP通信流程,包括服务端和客户端的函数调用顺序;3. 列出核心API及其作用;4. 重点分析Socket API采用指针传递地址参数的四大原因:实现数据回写、降低拷贝开销、统一多协议接口适配系统调用机制。文章通过对比值传递和指针传递的特点,帮助理

#网络#服务器#linux
详细解读Linux网络命名空间,veth, birdge与路由

名称空间将全局系统资源包装在一个抽象中,使名称空间中的进程看起来拥有自己的全局资源的独立实例。对全局资源的更改对作为命名空间成员的其他进程可见,但对其他进程不可见。名称空间的一个用途是实现容器。(摘录自中对namespace的介绍)Namespace是Linux提供的一种对于系统全局资源的隔离机制;从进程的视角来看,同一个namespace中的进程看到的是该namespace自己独立的一份全局资源

文章图片
#linux#网络
带你手把手解读rejail沙盒源码(0.9.72版本) (七) fnetfilter

如果一个进程是"可被核心转储"的,那么当它因为某种原因异常终止时,操作系统会自动或根据配置生成一个核心转储文件。是C编程语言中的一个函数,用于查找第一个字符串(称为“源字符串”)中不包含第二个字符串(称为“拒绝字符串”)中的任何字符的初始子串的长度。总的来说,这个函数主要用于在非root用户运行的进程中检测dumpable状态,并在必要时提供警告和调试信息,以增强系统的安全性。),如果是,则输出帮

文章图片
#linux
到底了