双 fork 到底在防什么,nohup 为什么只解决一半问题,以及 unit 文件里 Type=simple 和 Type=forking 选错的后果。
strace 的 -p / -f / -e / -T 各管什么,为什么它对性能的杀伤是十倍级的,以及 lsof 输出里那些你从来没看过的列。
Linux
未读SIGTERM 和 SIGKILL 不是强弱之分而是两套机制,信号为什么在内核态改不了行为,以及一次真正的优雅退出要写哪几步。
Linux
未读/proc/PID 下的每个文件都是一次系统调用的现场,为什么它们大小是 0、为什么读某些文件会卡住,以及 /proc/sys 和 sysctl 的关系。
exit(256) 为什么是 0,僵尸为什么杀不掉,waitpid 的 status 怎么解,以及 SIGCHLD 收尸的三个反直觉细节。
ps 的 STAT 那一列到底在说什么,D 状态为什么连 kill -9 都推不动,以及为什么僵尸进程其实不占资源。
Linux
未读从 task_struct 到写时复制,把「创建一个进程」拆成内核真正做的几件事,以及为什么 fork 之后第一件事通常是 exec。
文件名不是文件。inode 才是。搞清这一层,df 和 du 差 40G、删了文件空间不降、logrotate 之后日志还占着盘,全部能解释。
三个特殊位、目录的 x 位为什么比 r 重要、umask 怎么算、以及 ACL 为什么总在最需要它的时候不生效。
Linux
未读st_mode 的十六进制怎么读,三个时间戳差在哪,为什么 ls -l 的「大小」和 du 报的不是一回事。









