logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【Linux 网络】TCP Socket 编程实战:手把手实现远程命令执行(附实操要点 + 完整代码)

本文介绍了基于TCP的Socket编程实现,详细讲解了TCP接口的使用方法。主要内容包括:1) TCP核心接口如socket()、bind()、listen()、accept()等的功能和使用说明;2) 实现简单的客户端/服务端通信示例代码;3) 将单进程服务器改进为多线程版本,支持并发处理多个客户端请求;4) 通过popen()函数实现远程命令执行模块,增强服务器功能;5) 完整代码展示了日志系

文章图片
#网络#linux#tcp/ip +1
【Linux网络】深入理解守护进程(Daemon)及其实现原理

本文介绍了Linux系统中的进程组、会话和控制终端概念,重点讲解了守护进程的实现方法。进程组是由一个或多个进程组成的集合,进程组生命周期独立于组长进程。会话则是多个进程组的集合,每个会话最多有一个控制终端。守护进程通过创建新会话脱离原终端,实现长期稳定运行。具体实现步骤包括:忽略挂断信号、fork子进程退出父进程、调用setsid创建新会话、更改工作目录、重定向标准输入输出等。文章还提供了守护进程

文章图片
#linux#服务器#运维
【Linux 网络】基于TCP的Socket编程:通过协议定制,实现网络计算器

本文介绍了基于TCP的Socket编程进阶实现,重点讲解了协议定制和网络计算器的实现。主要内容包括: Socket封装:采用模板方法模式对Socket接口进行封装,实现TCP套接字的基本功能。 协议定制: 使用JsonCpp库实现序列化和反序列化 设计编码规则解决TCP粘包问题(报文长度+\r\n+报文+\r\n) 网络计算器实现: 定义Request和Respond类处理运算式和结果 通过Pro

文章图片
#网络#linux#tcp/ip
【Linux网络】初识网络,网络的基础概念

本文介绍了计算机网络的基础知识,包括网络发展历史、协议概念和分层架构。网络从最初的局域网逐渐发展为广域网,最终形成全球互联的互联网。协议是通信双方必须遵守的约定,由国际组织如ISO、IETF等制定标准。重点讲解了OSI七层模型和实际应用的TCP/IP五层(或四层)协议栈,包括物理层、数据链路层、网络层、传输层和应用层的功能。通过局域网和跨网络传输流程,解释了MAC地址和IP地址的作用差异,以及数据

文章图片
#服务器#运维
【Linux系统】万字解析,进程间的信号

本文系统介绍了Linux进程信号机制,主要内容包括:1. 信号概念:信号是OS发送给进程的异步通知机制,具有延迟处理特性,进程内置了信号识别和处理方式;2. 信号产生方式:键盘输入(如Ctrl+C)、系统调用(kill/abort/alarm)、命令操作(killall)及程序异常(除零错误等);3. 信号处理流程:涉及信号保存(pending/block位图)、内核态与用户态切换,以及默认/自定

文章图片
#linux#服务器
【Linux】进程状态

本文介绍了操作系统中的进程状态概念,重点解析了Linux系统的七种进程状态。主要内容包括:1) 进程的三种基本状态:运行、阻塞、挂起;2) Linux内核中进程状态的具体实现,包括R(运行)、S(可中断休眠)、D(不可中断休眠)、T(停止)、Z(僵尸)等状态;3) 僵尸进程和孤儿进程的产生原理及其影响;4) Linux内核中进程管理的数据结构实现原理,包括如何通过偏移量访问结构体成员。文章还解释了

文章图片
#linux#运维#服务器
【Linux】虚拟地址空间

本文介绍了Linux虚拟地址空间的概念及其工作原理。通过代码示例展示了虚拟地址空间分布,验证了父子进程共享相同虚拟地址但实际物理地址不同的现象。文章解释了写时拷贝机制的作用:1)减少进程创建时间;2)避免内存浪费。深入剖析了虚拟地址空间的本质是mm_struct结构体,以及操作系统通过vm_area_struct管理不同内存区域的机制。最后阐述了虚拟地址空间的三大优势:1)将无序物理地址有序化;2

文章图片
#linux#操作系统#运维
【Linux】进程切换与优先级

本文介绍了Linux进程优先级和进程切换的核心概念。进程优先级决定了CPU资源分配的先后顺序,保存在PCB中,其中PRI表示优先级,NI为修正值,两者相加决定最终优先级。优先级范围设定为60-99,避免进程饥饿问题。进程切换涉及时间片机制和上下文保存,使用TSS记录执行状态。Linux采用O(1)调度算法,通过活跃队列和过期队列实现高效调度,新进程优先放入活跃队列。文章还解释了进程的竞争性、独立性

文章图片
#linux#运维
【Linux】环境变量

本文介绍了Linux中的环境变量概念及其应用。环境变量是操作系统运行环境的重要参数,具有全局特性,可帮助系统查找程序路径。文章详细讲解了命令行参数表argv的实现原理,并通过代码示例展示了如何利用main函数参数实现指令选项功能。同时介绍了PATH、HOME、SHELL等常见环境变量的作用,以及使用env、echo、export等命令查看和操作环境变量的方法。最后阐述了环境变量的全局性和继承特性,

文章图片
#linux#运维#操作系统
【Linux系统】动静态库的制作

本文介绍了Linux系统中动静态库的制作与使用。静态库通过ar工具将.o文件打包成.a文件,使用-L指定库路径,-l指定库名进行链接。动态库使用gcc的-fPIC和-shared选项生成.so文件,运行时需配置系统查找路径(软连接、环境变量或ldconfig)。静态库在编译时链接,而动态库在运行时加载。文章还说明了头文件和库文件的默认系统路径,以及如何将自定义库安装到系统中以便简化调用。

文章图片
#linux#运维#服务器
    共 18 条
  • 1
  • 2
  • 请选择