Go语言技术文章
-
通过 prlimit 和 proc limits 查看单个 Linux 进程的软硬资源限制,区分限制与当前用量,解释设置语法、权限、进程身份及重启后的适用边界。228 收藏 -
用 findmnt 从挂载树、目标路径和明确输出列三个角度查看 SOURCE、FSTYPE 与挂载选项,并区分内核挂载表、/etc/mtab 和 /etc/fstab,避免把默认输出或配置意图当成当前挂载事实。136 收藏 -
用 ip neigh 读取 IPv4 ARP 邻居表,区分 reachable、stale、incomplete、failed 与 permanent,并按目标地址、网卡和状态收窄刷新范围。442 收藏 -
使用 ss 分别筛选 TCP LISTEN 与 ESTAB,说明 established 和 connected 的区别、本地与对端端口条件,以及 UDP、权限和空结果的判断边界。279 收藏 -
本文围绕 systemd EnvironmentFile 的变量语法、服务单元配置、root:专用组权限和三层生效检查,给出一套不把环境文件当 shell 脚本的安全加载方案。434 收藏 -
用 journalctl --list-boots 查看启动轮次和 BOOT_ID,再用 -b 选择当前或上一轮启动,最后用 --since 与 --until 缩小故障时间窗口。465 收藏 -
文章 · linux | 3星期前 | 服务管理 · Linux systemd systemd.socket ListenStream Accept socket activation systemd.service
Linux socket 激活把监听端点交给 systemd:.socket 单元负责创建和持有监听 socket,.service 单元只处理 systemd 传入的文件描述符。本文用同名 unit 文件说明 ListenStream、Accept=no/yes、LISTEN_FDS 的职责边界,以及适合采用和需要谨慎的场景。376 收藏 -
Linux 启动变慢时,不要只看最长的服务。本文用 systemd-analyze time、blame 和 critical-chain 建立一套从阶段、候选单元到关键依赖链的排查顺序,并解释 @、+ 以及并行启动带来的判断边界。123 收藏 -
比较 Python Path.replace 与 rename 的覆盖语义,解释相对路径、跨文件系统、Windows 文件占用及异常处理,并给出不先删目标的替换示例和迁移清单。415 收藏 -
Python 的 Popen.communicate 超时后,不能只捕获异常就结束。本文从输出管道、TimeoutExpired、kill 与再次 communicate 四个环节说明如何终止子进程、回收句柄,并保留已经产生的 stdout 和 stderr。457 收藏 -
Python tomllib.load() 接收可读的二进制文件对象,tomllib.loads() 接收字符串。本文围绕文件、bytes 和 str 三种输入边界,说明 TOML 配置的正确读取方式、UTF-8 解码和异常处理。202 收藏 -
Python contextvars 可以用 copy_context() 复制当前上下文,再用 Context.run() 让回调在副本中读取和修改 ContextVar。本文说明上下文隔离、外层恢复、空 Context、重复进入和异常传播等边界。143 收藏 -
使用请求级 LoggerAdapter 为 Python 日志附加上下文,解释 extra、字段缺失、merge_extra 版本边界和默认值的区别,并给出避免请求串号的示例。364 收藏 -
用 Python sqlite3.Connection.backup 将正在访问的 SQLite 数据库复制到独立目标连接,掌握分页、进度回调、锁竞争和资源关闭的实用写法。355 收藏 -
Python enum.Flag 适合表达可多选的权限、能力和功能开关。本文从基础标记定义开始,说明按位或组合、按位与判断、in 成员检查、零值与输入转换边界,并给出可维护的权限检查写法。167 收藏