-
2026-01-27 19:11:02
- Python 异常捕获与日志结合
- 线上服务出错时仅用print()无法满足日志需求:无时间戳、模块名、调用栈,且日志混入stdout难以被systemd或logrotate管理;应使用logging.exception()替代,它自动记录完整traceback并强制在except块中调用。
-
591
-
2026-01-27 19:11:23
- Linux systemd 服务管理模型解析
- systemd通过unit统一管理各类资源,socketactivation需同步更新.ListenStream=,依赖需用Wants+After组合,Restart=on-failure不重启exit(0),应结合SuccessExitStatus和journalctl深入排查。
-
623
-
2026-01-27 19:12:10
- Linux 孤儿进程为何不会成为问题?
- 孤儿进程自动被PID=1进程收养是内核硬保障,即父进程退出时内核在do_exit()中原子地将子进程PPID设为1,由systemd/init接管并回收资源。
-
439
-
2026-01-27 19:12:10
- 如何让 hash 只对 frozen 对象生效且类型安全
- hash()拒绝未冻结对象是因为可变对象的哈希值不稳定,破坏字典/集合结构;Python通过将__hash__设为None实现约束,@dataclass(frozen=True)、NamedTuple等提供类型安全的哈希支持。
-
925
-
2026-01-27 19:13:06
- Linux 服务频繁重启的根因分析
- 需结合journalctl查日志确认频繁重启:用journalctl-u-n100--no-pager-ojson-pretty找exited/Killed/Segmentationfault;OOM要查dmesg-T|grep"killedprocess";依赖问题看systemctlcat中Requires/BindsTo缺失;节流机制需检查StartLimitIntervalSec和StartLimitBurst。
-
304
-
2026-01-27 19:14:03
-
2026-01-27 19:15:10
- 如何检测当前终端是否支持 ANSI 真彩色(24-bit)
- 最可靠方式是检查$COLORTERM是否为truecolor或24bit;若未设置,需用tputsetaf16777215实测;勿单凭$TERM判断,应结合termenv或rich等库综合探测,并兼顾NO_COLOR和isatty。
-
200
-
2026-01-27 19:19:02
- Linux 启动时内核参数的作用机制
- 内核参数由引导加载器(如GRUB或U-Boot)传给内核,或通过设备树/chosen/bootargs提供,最终统一存入command_line[];内核不解析配置文件,仅处理启动时传递的字符串。
-
826
-
2026-01-27 19:19:02
-
2026-01-27 19:19:16
- 如何让异常支持自定义 reduce 用于 pickle
- 默认异常无法被pickle是因为其未实现__reduce__或默认实现仅返回类和空元组,不保存实例字段;需手动定义__reduce__返回(callable,args)二元组,确保参数均可序列化,并注意父类构造签名兼容性。
-
713