-
Linux flock 在 -n 非阻塞或 -w 超时模式下,可以用 -E 设置拿不到锁时的退出码,范围是 0 到 255。本文说明如何区分锁冲突、业务命令失败和成功状态。
-
Linux lslocks 可按 PID 查询文件锁,并显式输出类型、模式和字节范围。本文说明持锁与等待的区别、路径缺失和 OFD 多持有者关系,并提供固定列的只读 JSON 采集示例。
-
Linux findmnt 查询源设备和目标目录不是一回事:--source 按设备名、LABEL 或 UUID 找挂载来源,--target 按文件或目录路径判断所在文件系统,--mountpoint 则只匹配严格指定的挂载点。本文用最小命令和稳定字段说明三者区别、常见误判与排障记录方式。
-
Linux findmnt 怎样按挂载目标输出 JSON 字段?推荐组合 --target、--json 和 --output,例如 findmnt --target /var/lib/app --json --output TARGET,SOURCE,FSTYPE,OPTIONS。本文说明 --target 与 --mountpoint 的区别、字段选择、jq 消费方式和无匹配时的退出码边界。
-
Linux namei 会逐段解析路径,遇到符号链接就展示链接并继续跟随;配合 -l 查看权限和属主,配合 -n 停在链接本身。本文用对照步骤定位链接指错、路径权限不足和链接循环等问题。
-
排查 Linux 路径权限时,namei -l 能把路径拆成目录、符号链接和终点对象,并逐层显示模式、所有者与所属组。本文解释输出字段、符号链接边界和最小排查方法。
-
Python importlib.metadata.entry_points 可通过 group 选择插件入口,再按 name 精确筛选。本文以报告渲染器说明元数据发现、唯一候选加载、pyproject 声明,以及空结果、重名和接口错误的处理。
-
Python pkgutil.get_data 遇到不支持资源读取的加载器时返回 None,而不是空字节串。本文从包定位、loader.get_data 能力和命名空间包边界出发,说明如何处理 None,以及在不同打包方式下如何选择资源访问方案。
-
Python 3.13 起不再提供 aifc。需要读取 AIFF 并进入 NumPy 数组时选 soundfile,需要多格式转码时选 FFmpeg,需要短脚本剪切拼接时可用 pydub,但它仍依赖 FFmpeg。本文按任务边界、依赖、耗时和内存指标给出迁移选择。
-
profile 的纯 Python 实现通常比 cProfile 带来更明显的剖析开销。本文以同一文本汇总任务解释外部耗时与报表统计的区别,提供三模式观察脚本和无剖析计时方法,不预设固定减速倍数。
-
Python pstats 用 sort_stats() 决定性能报告的排序方式,再用 print_stats() 按数量、比例或函数名限制显示内容;多个限制会按书写顺序依次收窄。
-
从字节流、前两行读取边界和 BOM/编码声明冲突三个角度,说明 Python tokenize.detect_encoding 如何识别源文件编码,并给出 tokenize.open 的使用边界。
-
Python mailbox.mbox 修改后,flush 负责把待处理变更写入文件,unlock 负责释放排他锁,二者不是同一个动作。本文用一个带异常收尾的示例解释修改、落盘、解锁和 close 的关系。
-
本文说明 Python tabnanny 如何扫描文件或目录中的混合缩进,解释 indent not equal 与 indent not greater 的区别,并给出显示空白、统一缩进和 py_compile 验证的完整排查流程。
-
Python mailbox.Maildir 的 new/cur 目录位置与 S 已读标记应分开判断。本文给出只读扫描和单封标为已读的示例,解释 cur 未必已读、对象修改需写回,以及实验 info 和并发统计的限制。