登录社区云,与社区用户共同成长
邀请您加入社区
本文探讨了父子进程与信号机制的关系,重点分析了子进程终止时的僵尸进程状态和信号通知机制。当子进程终止时,内核会将其置为僵尸状态并发送SIGCHLD信号通知父进程。父进程可以通过阻塞式或非阻塞式等待回收子进程,其中非阻塞式等待(使用WNOHANG标志)更为高效。文章通过代码示例验证了SIGCHLD信号的传递机制,并指出在多子进程场景下,父进程需要在信号处理函数中循环调用waitpid(-1, NUL
FastDFS分布式文件系统部署与Java实践指南 摘要:本文详细介绍了FastDFS分布式文件系统的架构原理和完整部署流程。FastDFS由Tracker调度服务器和Storage存储节点组成,具有轻量高效、线性扩展、自动冗余等特点。文章分步骤讲解了环境准备、依赖安装、Tracker和Storage节点配置,以及Nginx集成方法。通过Java客户端可实现文件上传、下载、删除等核心操作。Fast
不知道选哪个发行版,Ubuntu、CentOS、Debian 乱选,越学越懵;只背命令不实操,记了又忘,遇到真实场景一脸茫然;没有系统路线,东看一篇教程、西学一个命令,越学越乱,最后半途而废;分不清 “学习 Linux” 和 “运维 Linux”,盲目跟风学高深内容,基础不牢。其实 Linux 入门一点都不难,核心是「先打基础、再练实操、最后做实战」,不用死记硬背,不用追求高深,循序渐进就能学会。
你现在在家里,电脑和树莓派连着同一个路由器,这叫局域网(LAN)。在局域网内,你可以用的IP地址访问树莓派。但当你出门在外(学校、公司、咖啡厅),你的电脑连的是别的网络,不再和树莓派在同一个局域网里。这时候就不通了——你需要外网访问。场景网络能否访问树莓派在家,连同一个WiFi局域网✅ 直接访问在学校/公司/外面外网❌ 默认不能访问需要一台有公网IP的VPS作为中转服务器。树莓派主动连接VPS,你
1. Nginx 频道ngx_channel_t 频道是 Nginx master 进程与 worker 进程之间通信的常用工具,它是使用本机套接字实现的,即 socketpair 方法,它用于创建父子进程间使用的套接字。#include <sys/types.h>/* See NOTES */#include <sys/socket.h>int socketpair(in
Redis (REmote DIctionary Server) 是一个高性能的 key-value 数据库,完全开源,遵守 BSD 协议。Redis支持数据持久化,可以将内存中的数据保存在磁盘中,重启时可以再次加载进行使用。Redis不仅仅支持简单的key-value类型数据,同时还提供list,set,zset,hash等数据结构的存储。Redis支持数据的备份,即master-slave模式
需要在服务器上部署项目,用Nginx反向代理前端代码,Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。
Apache Tomcat是一个广泛使用的开源Java Servlet容器和Web服务器,适用于运行Java Web应用程序。本指南将详细介绍如何在Linux环境中安装和配置Tomcat,包括必要的前提条件、下载安装、配置环境变量、设置为系统服务以及基本的安全配置。
redis-cli -h 192.168.111.100 -p 6379 -a 123123 -n 数据库序号(0-15)#如果是4.* 的就要升级,因为redis6.2 以上需要gcc 9.*的版本,不然make 编译redis时会报错。这里你可以先下载到本地,在通过ftp 的方式上传到服务器,也可以直接 wget 下载。在启动新版的redis 时,可以将数据文件放到启动目录下。-n:指定数据库
本文深入解析Linux系统中的中断机制,从硬件到内核的全路径视角,重点对比了硬件中断、软件中断、时钟中断和缺页中断四大类型及其对程序性能的影响。
本文深入探讨了计算机体系结构、操作系统进程管理及内存管理的核心概念。首先介绍了冯诺依曼体系结构的输入输出原理,解释了数据为何需先存入内存而非直接传输到CPU。随后详细阐述了操作系统的进程管理机制,包括进程状态(运行、阻塞、僵尸等)、进程调度算法(时间片轮转)和优先级控制(PRI与NI值)。在内存管理部分,重点讲解了虚拟地址空间的实现原理,包括页表映射、缺页中断和写时拷贝技术,分析了虚拟地址如何实现
计算机网络的发展源于协作需求,经历了单机→局域网→广域网的演进。通信需要协议约定数据格式与规则,OSI七层模型与TCP/IP五层模型通过分层解决数据传输、寻址、可靠性等问题。TCP/IP协议栈通过封装与解包实现通信,数据链路层用MAC地址标识设备,网络层用IP地址实现跨网络寻址。局域网内通过MAC地址直接通信,跨网络时IP地址保持不变,MAC地址逐跳更新,路由器根据IP地址选择路径。分层设计与协议
WinBoat:在Linux桌面原生运行Windows应用的开源方案 WinBoat是一个新兴的开源项目,通过容器化Windows虚拟机+RemoteApp协议,实现在Linux桌面上以原生窗口形式运行Windows应用。相比WINE兼容层,它提供近乎完美的兼容性;相比传统虚拟机方案,它提供更接近原生应用的使用体验。该项目采用QEMU/KVM+Docker/Podman构建Windows容器,通过
你不用自己创建。
【Web安全】-云服务器与Docker(1):云服务器,SSH和远程桌面ToDesk区别,Docker介绍与安装,Docker配置镜像和卸载
我们把这个链条拆成 7 个原子步骤,每一步都精确对应着操作系统的具体动作。:Claude Desktop 调用两次。
那时要先换动态设备号改驱动,或使用未被占用的主设备号——这里暂且假设能成功加载。,哪个有数据就处理哪个,不用每个 fd 开一个线程阻塞等。→ 进程休眠、让出 CPU→ 硬件 / 驱动有数据了。,是 Linux 性能最强的同步 IO 多路复用模型。判断是否非阻塞,没数据直接返回 -EAGAIN。,直接去干别的事内核自己后台把数据准备好,完事。(可能没有换行,取决于内核里缓冲区内容)。这是进阶项,书里
本文介绍了利用MCTP协议在服务器系统中实现BMC控制器与其他芯片管理通信的方法。不同于传统使用AST2600 BMC控制器,本文采用Nvidia Jetson Nano模拟BMC角色,通过整合I2C驱动、Intel MCTP库和Broadcom Switch的MCTP工具(ScrutinyLib),展示了从底层到应用层的全栈通信实现。文章详细解析了MCTP协议架构、Intel开源MCTP库功能、
在AI编程工具越来越强大的今天,开发者们不只是需要更聪明的模型,他们需要能记住的模型。claude-mem在用它自己的方式回答这个问题。253次发布告诉我:作者在认真做这件事
摘要 当前大语言模型普遍采用Decoder-only架构(如GPT系列),而非原Transformer的Encoder-Decoder架构。这种选择源于三个关键优势:(1)训练目标的统一性,自回归生成天然匹配next token prediction任务;(2)架构简洁性,仅需单一Decoder堆叠,参数利用更高效;(3)扩展性优势,适合模型规模持续增长。然而,Encoder-Decoder架构在
摘要: 研究人员发现Linux内核中的authencesn加密模板存在逻辑漏洞(CVE-2026-31431),攻击者可通过AF_ALG套接字与splice()结合,触发可控的4字节写入,覆盖任意可读文件的页缓存。一个732字节的PoC脚本可在Ubuntu、Amazon Linux、RHEL等主流发行版上实现本地提权。漏洞源于authencesn解密时将页缓存页面链入可写散列表,并通过ESN处理写
Linux系统灾难恢复方案设计 本文详细介绍了Linux系统的灾难恢复方案设计,主要内容包括: 灾难恢复的重要性:分析了硬件故障、软件错误、人为失误、安全攻击和自然灾害等常见灾难类型,强调灾难恢复是现代IT基础设施的核心能力。 关键指标: RTO(恢复时间目标):系统恢复正常运行的最大允许时间 RPO(恢复点目标):系统可容忍的数据丢失量 恢复体系架构:通过Mermaid图展示了从监控检测到事后优
完全解耦:网络层与业务层完全分离,UdpServer可复用生产级日志:支持控制台/文件双输出,线程安全可扩展性强:字典数据从外部文件加载,无需修改代码即可扩展完善的错误处理:文件错误、网络错误、格式错误均有处理线程安全:所有共享资源访问均加锁保护默认控制台日志:程序启动时自动启用切换到文件日志:在main函数开头调用日志等级:从低到高为DEBUG < INFO < WARNING < ERROR
这个是UDP的灵魂!recvfrom 每个参数真实意义为什么 UDP 必须 recvfromsrc_addr 的真正价值返回值三种情况如何知道“是谁发来的数据”如果说 socket() 是创建通信能力,bind() 是让别人能找到你,那么 recvfrom()才是服务器真正开始“工作”的地方。我们正式开始。当socket()和bind()socket();bind();IP + Port。也就是说
Flutter图片压缩库在鸿蒙平台的适配与应用 摘要:本文介绍了Flutter图片压缩库flutter_image_compress_ohos在OpenHarmony平台的适配过程与实战应用。文章从开发者遇到的饮食记录应用图片过大问题出发,详细解析了该库的功能特性(支持JPEG/PNG/WebP格式压缩、质量控制等),并提供了完整的环境配置指南。重点讲解了核心API使用方法,包括单文件压缩、字节数
本文深入解析了Linux epoll反应堆模型的核心架构与实现原理。文章首先通过熔炉比喻形象展示了epoll从初始化到事件处理的完整工作流,包括红黑树管理FD、事件回调驱动和读写状态轮转三大核心机制。重点剖析了反应堆的关键数据结构myevent_s,它封装了FD、事件类型、回调函数等要素,实现高效上下文管理。通过代码示例详细演示了事件添加/删除、epoll_wait监听、读写回调处理等核心流程,特
本地提权漏洞
Flutter血压数据模型设计与WHO分类算法摘要 本文介绍了Flutter血压监测App的核心数据模型设计,重点讲解如何构建面向对象的血压记录类。血压数据具有特殊性(需同时记录收缩压、舒张压和脉搏),作者采用优雅的OOP设计,将数据与行为封装在BloodPressureRecord类中,包含WHO标准分类算法、格式化显示和脉压差计算等功能。文章详细展示了血压状态分类的核心算法实现(包括高血压危象
NFS让多台服务器共享同一份数据,但它的实时性也意味着网络断了就全线罢工。如果你的同步场景更偏向“单向备份”——比如每天凌晨把网站文件备份到异地、把日志归档到存储服务器——那么rsync是更好的选择。本文从rsync的增量同步原理讲起,详解-avz三参数的协作逻辑;然后配合crontab实现定时备份;最后引入inotifywait,在文件变化时立刻触发rsync,将同步延迟从“小时级”压缩到“秒级
当你有多台服务器需要共享同一份文件数据时,手动拷贝或FTP传输都太原始了。NFS(Network File System)让远程目录像本地磁盘一样直接挂载使用,是分布式存储的基石。本文从NFS服务端的exports配置讲起,详解客户端挂载的完整流程;重点对比hard和soft两种挂载模式的行为差异,帮助你理解“NFS卡死”的根源;最后给出生产环境中NFS故障的排查策略和替代方案建议。学完本文,你将
DNS是互联网的“电话簿”——把域名翻译成IP地址。绝大多数人每天都在用DNS,却很少想过它背后是怎么工作的。本文从最原始的/etc/hosts文件讲起,揭示单机域名解析的局限;然后带你搭建一个轻量级DNS服务器Dnsmasq,实现局域网内的自定义域名解析;最后通过劫持广告域名到127.0.0.1,直观体验DNS的威力——一条配置就能让整台电脑的广告请求全部落空。学完本文,你不仅能理解DNS的工作
如果说虚拟机是“在一台电脑里模拟另一台电脑”,那么Docker容器就是“在一个操作系统里隔离出多个独立运行环境”。Docker以其轻量、快速、一致性的特点,已经成为应用部署的事实标准。本文从零开始,首先理清镜像、容器、仓库三个核心概念的关系;然后通过docker run、docker ps、docker exec等命令掌握容器的基本操作;最后手把手带你将一个Python Web应用打包成Docke
在一个程序里的一个执行路线就叫做线程,更准确的定义是:线程是“一个进程内部的控制序列”一切进程至少都有一个执行线程线程在进程内部运行,本质是在进程地址空间内运行在Linux系统中,在CPU眼中,看到的PCB都要比传统的进程更加轻量化透过进程虚拟地址空间,可以看到进程的大部分资源,将进程资源合理分配给每个执行流,就形成了线程执行很多书籍提供的线程概念是:线程是进程的一个执行分支,是在进程内部运行的一
本文详细讲解了一个基于TCP协议的网络计算器系统的设计与实现。系统采用分层架构,包含网络通信层(TcpServer)、协议解析层(Protocol)和业务计算层(Calculator),对应OSI模型的会话层、表示层和应用层。通过自定义应用层协议解决TCP粘包问题,使用JSON进行序列化和反序列化,实现了客户端请求的发送和服务端结果的返回。系统采用回调机制实现模块解耦,支持多进程并发处理。文章从设
《IT故障排查与运维优化全指南》摘要 本文系统性地介绍了IT故障排查的方法论、实用工具和最佳实践。内容涵盖硬件故障、软件冲突、网络异常三大类问题的诊断流程,推荐了Windows事件查看器、Wireshark等专业工具的使用技巧,并通过三个典型案例详细解析了蓝屏错误、数据库连接池耗尽和ARP攻击的解决方案。文章还提出了预防性运维策略,包括3-2-1备份法则、代码健壮性规范和灰度发布机制,并展望了AI
Tank-OS 是 Red Hat 首席工程师 Sally O'Malley 开发的开源项目,将 OpenClaw AI Agent 与 Fedora 操作系统打包成单一的 OCI 可启动容器镜像。基于 bootc + rootless Podman Quadlet 技术栈,实现不可变 OS、事务性更新和安全隔离的企业级 AI Agent 部署方案。
本章通过 Makefile、CMake、Autotools 三种方式演示了如何交叉编译应用程序,并通过 ADB 部署到 T113 开发板运行。这三种构建系统覆盖了绝大多数嵌入式项目的需求。作为初学者,建议先熟练掌握 Makefile 方法(最直接),再了解 CMake 和 Autotools(阅读开源项目时会遇到)。反复练习,直到能独立完成从编写代码到板子上运行的完整流程。加油!
Fedora 44 和 Ubuntu 26.04 LTS 都是 2026 年 4 月发布的优秀 Linux 发行版,代表了开源操作系统的两个不同发展方向。Fedora 44 专注于技术创新和上游整合,提供最新的软件包和功能,适合追求前沿技术的开发者和技术爱好者;而 Ubuntu 26.04 LTS 则强调企业级稳定性、安全性和长期支持,通过原生 AI 集成、内存安全工具和工业协议支持,成为企业和关
linux
——linux
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net