linux技术文章
-
讲清 Linux fanotify 权限事件的初始化、目录标记、用户态策略判断和 FAN_ALLOW/FAN_DENY 响应边界。489 收藏 -
Linux inotify 大规模监听应先缩小目录范围,再分别预算 watch、instance 和队列资源。本文说明目录级迁移、fdinfo 计数、事件合并、溢出恢复与回归场景,避免只提高限制却继续丢事件。458 收藏 -
systemd-cgls 怎样按服务单元查看 cgroup 树?本文用 --unit、--full、--no-pager 展开服务层级,并说明 --all、-k、-M 的排查边界。449 收藏 -
本文从 SSH ControlPath 的 %h、%p、%r、%j 和 %C 展开规则入手,说明多主机、多端口、多用户与跳板环境中如何避免复用同一个 socket,并给出配置、排查和按别名隔离的实用写法。446 收藏 -
Type=notify 不把进程启动当成服务就绪,而是等待服务通过 NOTIFY_SOCKET 发送 READY=1。本文用一个最小 Python 服务和 unit 文件说明通知时机、NotifyAccess=main、检查命令、启动超时与回滚边界。436 收藏 -
rsync 目标目录的多级路径不存在时,可以用 --mkpath 让接收端按 mkdir -p 的语义创建缺失目录。本文说明目录同步、单文件上传、末尾斜杠和远端权限之间的关系。433 收藏 -
journalctl 可通过启动列表取得 boot ID,并用 -b 固定查询指定启动。本文说明相对偏移、消息时间范围、脚本输入与历史日志留存边界,避免把编号或空结果误判。415 收藏 -
systemd-tmpfiles --cat-config 会把 tmpfiles.d 配置片段和来源文件名一起输出。本文从系统与用户实例、配置目录优先级、同名文件替换、--tldr 精简查看和只读排查清单入手,说明如何定位最终采用的配置来源,不执行清理或创建动作。411 收藏 -
Linux 监听 socket 的 backlog 不是一条队列:SYN_RECV 侧对应未完成握手的请求,accept 队列对应已建立但尚未被应用取走的连接。本文结合 ss、tcp_max_syn_backlog、somaxconn 和 listen(backlog) 说明怎样判断两侧压力。407 收藏 -
fd 默认同时跳过隐藏文件和 ignore 规则匹配的路径。本文区分 -H、-I、-HI 与 -u 的作用,并说明 .fdignore、-E、文件名匹配和完整路径匹配之间的关系。405 收藏 -
用 systemd 的 StateDirectory 声明服务状态目录,结合 STATE_DIRECTORY、服务用户、目录权限和 ProtectSystem=strict,建立可观察且跨重启保留的状态文件边界。399 收藏 -
udevadm settle 返回非零时,通常说明事件队列在指定时间内没有变空。本文区分全局队列与本次触发事件的等待语义,解释默认 120 秒、--timeout=0、退出码和启动脚本中的安全处理方式。394 收藏 -
systemd-cgtop 按 cgroup 实时观察服务的 CPU、内存、任务数和磁盘 I/O。本文说明按资源排序、缩小层级、解释 accounting 空白与多核 CPU 百分比,并用 batch 模式导出有限次采样。380 收藏 -
systemd RuntimeDirectory 可以统一管理服务运行目录。本文用测试单元说明相对路径、账户权限和应用接入,并区分停止清理、重启保留与持久化边界。367 收藏 -
journalctl 只输出指定字段时,应把 -o json 与 --output-fields=字段列表分开使用。本文用一个逐行 JSON 日志小工具说明字段白名单、服务过滤、固定元数据和字段缺失的处理边界。360 收藏