Ping的基本原理
Posted on
ping主要用于测试网络层的连通性和往返时延(RTT round trip time)。它基于ICMP协议工作,通常使用:
- ICMP Echo Request(Type=8):请求报文
- ICMP Echo Reply(Type=0):响应报文
- IPv4下协议号:1(ICMP)
- IPv6下使用ICMPv6,类型不同
以IPv4为例:
1 | 主机A 主机B |
身份认证(Authentication)常见有哪些类型
Posted on
oracle cloud计算实例更换公共IP方法
Posted on
生成tengine支systemd服务单元
Posted on
1.生成的服务文件
1 | cat > /etc/systemd/system/tengine.service<<'EOF' |
优化版本
1 | cat > /etc/systemd/system/tengine.service<<'EOF' |
MySQL InnoDB存储引擎架构解读
Posted on
Python的开源Web应用开发框架web2py详解
Posted on
Drone CI分支项目:Woodpecker
Posted on
Linux进程状态转换详解
Posted on
Linux 内核将进程状态存储在 task_struct 结构体中的 state 字段(一个位图),通过 ps、top、**/proc/pid/status** 等命令可查看(STAT 列)。Linux 的进程状态主要为 R、S、D、T、Z、X(加上可能的前缀标记,如 +、l 等)。
1. Linux进程状态定义
| 状态码 | 英文含义 | 中文含义 | 说明 |
|---|---|---|---|
| R | TASK_RUNNING | 可执行/运行状态 | 进程正在 CPU 上运行,或已就绪等待调度 |
| S | TASK_INTERRUPTIBLE | 可中断睡眠状态 | 等待事件(如 I/O、信号),可被信号唤醒 |
| D | TASK_UNINTERRUPTIBLE | 不可中断睡眠状态(Disk Sleep) | 等待硬件 I/O(如磁盘、网络),不可被信号打断(kill 无效) |
| T | TASK_STOPPED / TASK_TRACED | 暂停/跟踪停止状态 | 被 SIGSTOP/SIGTSTP 暂停,或被 ptrace 跟踪 |
| Z | EXIT_ZOMBIE | 僵尸进程状态 | 进程已退出,但父进程未回收资源(等待 wait()) |
| X | EXIT_DEAD | 死亡状态 | 进程即将被完全销毁(短暂,几乎不出现) |
Linux套接字Socket解读
Posted on
套接字(Socket) 是Linux网络编程的核心机制,它像一个插座一样,连接两个进程(本地或跨网络)。它支持 TCP(可靠、面向连接,用于文件传输等)和 UDP(无连接、快速,用于广播/实时数据)。
基础概念
- 创建Socket:
socket()函数返回一个文件描述符(类似 FD)。 - 协议族(domain):
AF_INET:IPv4(最常用)AF_INET6:IPv6AF_UNIX/AF_LOCAL:本地 IPC(同一台机器)
- 类型(type):
SOCK_STREAM:TCP(可靠流式)SOCK_DGRAM:UDP(无连接数据报)
- 协议:通常填
0,让系统自动选默认协议。 - 地址结构:
sockaddr_in(包含 IP + 端口)。
浏览器自动化:Chrome CDP技术架构与应用场景
Posted on
JDK自动装箱与拆箱机制
Posted on
