-
2026-01-27 18:15:17
-
2026-01-27 18:16:03
- Linux 内网与公网安全边界划分
- 不能按IP段粗暴划分内网/公网边界,因同一IP段混跑多类服务,仅靠地址无法判断流量合法性;必须基于业务角色分区,结合nftables链级隔离、cgroup标记、TLS双向认证、SELinux等实现细粒度控制,并通过Git审计、实时监控确保策略闭环。
-
673
-
2026-01-27 18:17:03
- logging 如何实现按日志级别分离不同文件输出
- FileHandler本身不支持按级别自动拆分文件,因所有Handler共享同一Logger实例,日志进入handle()后会被全部处理;需为每个FileHandler绑定自定义Filter并重写filter()返回布尔值,配合setLevel实现精准分流。
-
440
-
2026-01-27 18:17:23
- chronyc sources * 为空但 chronyd 运行正常的配置问题
- chronycsources返回空列表的主因是Unixsocket路径不匹配、bindcmdaddress未配置、SELinux拦截或systemdsocket单元冲突;需检查/run/chrony/chronyd.sock是否存在并可访问,确认chrony.conf含bindcmdaddress/run/chrony/chronyd.sock,排查SELinux策略及禁用chronyd.socket单元。
-
430
-
2026-01-27 18:17:55
- Python 装饰器的执行顺序解析
- 装饰器在函数定义时就完成包装,即模块加载时执行@decorator等价于func=decorator(func);带参装饰器需三层嵌套,多装饰器按从下到上顺序嵌套,须用functools.wraps保留元信息。
-
117
-
2026-01-27 18:18:09
- subprocess 如何在 timeout 时优雅杀死子进程树
- subprocess.run()的timeout参数只终止主进程,不清理子进程树;应使用start_new_session=True(Linux/macOS)或CREATE_NEW_PROCESS_GROUP(Windows)配合killpg/CTRL_BREAK_EVENT,或用psutil显式遍历终止整个进程树。
-
568
-
2026-01-27 18:18:18
- Linux 从“救火式运维”到“体系化运维”
- 体系化运维的核心是建立可验证的闭环机制。需配置systemd-journald持久化日志、rsyslog保留RFC5424结构、Prometheus合理设置scrape_timeout、Ansible校验系统版本并验证变更生效,缺一环即退化为救火式运维。
-
643
-
2026-01-27 18:23:02
- Python 使用生成器优化内存占用
- 生成器比列表节省内存达数量级,如range(10**6)仅占几十字节,而等价列表占用约8MB;必须用yield的场景包括处理大文件、递归结构、无限序列及管道式惰性求值链。
-
359
-
2026-01-27 18:23:06
- Linux 进程调度器的工作机制
- Linux调度器通过就绪队列和虚拟运行时间(vruntime)决定下一个上CPU的进程,CFS调度器依据vruntime大小动态选择优先级最高的普通进程,而实时进程(如SCHED_FIFO)独立于CFS且永远抢占;renice仅调整CFS中普通进程的nice值,chrt则切换至实时调度类,二者互不干扰;调度时机由事件驱动(如中断、系统调用返回、进程唤醒等),非固定周期;SCHED_IDLE仅在系统空闲时运行,SCHED_BATCH适用于CPU密集型批处理以减少上下文切换。
-
324
-
2026-01-27 18:24:11