-
ss 的 -p 负责显示进程,不是按 PID 过滤。结合 TCP 监听查询、PID 字段精确匹配和进程名筛选,说明权限不足、容器命名空间与空结果的区别,避免误判服务状态。
-
journalctl 的 -p/--priority 可以按 emerg 到 debug 筛选日志。本文从单值与 FROM..TO 范围两种写法入手,说明 err 及更严重级别的默认包含关系,并组合服务、启动批次和 JSON 输出给出排障用法。
-
通过 findmnt 的 TARGET、FSTYPE、SOURCE 和 OPTIONS 固定输出,区分 overlay 来源与 upperdir,并处理只读挂载、多层 lowerdir 和 mount namespace 场景。
-
用 systemctl show 读取 LoadState、ActiveState、SubState 和 Result,比较 status、is-active 与属性判断的适用场景,并给出可维护的 shell 分支示例。
-
Linux PSI 的 memory pressure 平均值来自 /proc/pressure/memory:avg10、avg60、avg300 表示不同时间窗口的停顿比例,some、full 和 total 分别对应部分停顿、整体停顿与累计停顿,不能直接当作内存使用率。
-
Linux cgroup v2 的 memory.events 中,high 代表超过 memory.high 后发生节流和直接回收,oom 代表达到内存限制且分配即将失败。本文对比两类事件的触发边界、字段组合和排查方法。
-
Python logging 中可以用 logger.exception 在异常处理器里保留完整 traceback;如果同一条日志重复出现,优先检查重复调用、父子 logger 的 propagate,以及同一层级是否挂了多个 handler。本文给出集中配置和排查模板。
-
Python zipfile 默认支持 ZIP64 扩展,但 allowZip64 与 force_zip64 解决的是不同问题。本文分别说明已知大小文件和未知大小流式数据的写法,并解释 LargeZipFile 的触发边界与兼容注意。
-
Python argparse 可用 parents 复用子命令参数定义,但选项位置和默认值仍需明确。通过公共解析器示例,说明帮助冲突、同名字段覆盖、兼容回退与排查要点。
-
用 Python tomllib 读取 TOML 日期配置时,裸日期会得到 datetime.date,引号日期仍是 str。本文对比配置写法、返回类型和显式转换方法,并说明带时区日期时间的处理边界。
-
Python sqlite3 原生只认识有限的 SQLite 类型。本文用 Point 示例说明如何注册 register_adapter 写入自定义对象,再用 register_converter 与 detect_types 在查询时恢复对象,并列出声明类型、列名解析和版本兼容边界。
-
Python typing.TypeIs 可以把可复用的布尔判断接入类型收窄,并在 True 与 False 两个分支提供更精确的类型信息。本文从联合类型示例出发,说明安全写法、Python 版本导入、TypeGuard 对比和错误实现边界。
-
判断函数是否为 coroutine function,优先使用 inspect.iscoroutinefunction。本文区分 async def 函数、partial 包装、同步函数返回协程、async generator 与已经调用后的 coroutine 对象,避免把函数检查和结果检查混在一起。
-
Python asyncio.Queue 的 join 等待未完成计数归零,需要消费者逐条调用 task_done。通过 TaskGroup 与退出哨兵示例,区分队列清空、消费者退出和业务成功,并说明 Python 3.13+ shutdown 的迁移注意事项。
-
Python asyncio.timeout 会在截止时间到达时取消当前任务,并在上下文管理器退出时把 asyncio.CancelledError 转换为内置 TimeoutError。本文给出最小写法,再说明异常捕获位置、动态截止时间、expired 状态、嵌套超时和 wait_for 的区别。