20+ 篇与 apue 相关的文章按原章节目录组织起来,方便系统阅读
与 apue 相关的一系列文章比较庞杂,按原书目录整理了一下,形成目录,方便系统性阅读。
另外这些文章是在我快读完的时候开始写的,之前的一些章节还多有遗漏,后面慢慢补上。
chapter 1: UNIX 基础知识
chapter 2: UNIX 标准化及实现
[apue] sysconf 的四种返回状态
[apue] 一个快速确定新系统上各类限制值的工具
chapter 3: 文件 I/O
[apue] dup2的正确打开方式
[apue] Linux / Windows 系统上只能建立不超过 PATH_MAX / MAX_PATH 长度的路径吗?
[apue] 一图读懂 unix 文件句柄及文件共享过程
chapter 10
[apue] 等待子进程的那些事儿
chapter 14
[apue] 使用文件记录锁无法实现父子进程交互执行同步
[apue] epoll 的一些不为人所注意的特性
chapter 15
[apue] 多进程管道读写的一些疑问
[apue] 测试管道容量的一些疑问
[apue] 管道原子写入量的一个疑问
[apue] 使用 poll 检测管道断开
[apue] 使用 popen/pclose 的一点疑问
[apue] popen/pclose 疑点解惑
[apue] FIFO:不是文件的文件
chapter 16
[apue] syslog 导致 accept 出错?
[apue] 如何处理 tcp 紧急数据(OOB)?
chapter 17
[apue] 神奇的 Solaris pipe
[apue] 作为 daemon 启动, Unix Domain Socket 侦听失败?
chapter 18
[apue] 一个查看当前终端标志位设置的小工具
[apue] 使用 Ctrl+S停止输出而不用挂起前台进程
chapter 19
[apue] 书中关于伪终端的一个纰漏
chapter 20
[apue] apue_db:一个可以充当"注册表"的 key-value 数据库
chapter 21
[apue] getopt 可能重排参数
[apue] 书中关于打印服务代码的一个错误
附录
本文用到的代码都放在下面的git库了,有需要的可以“复刻”
https://github.com/goodpaperman/apue
我用的系统是 CentOS 6.7,内核 2.6.32-573,gcc 版本 4.4.7
因为系统版本太老,需要进行一系列升级:
sudo yum install git sudo yum install gcc sudo yum install glibc-static sudo yum install gcc-c++
11 章有个 cxx11 的例子就需要用到高版本编译器,我暂时注掉了。
还有部分章节有 Makefile.solaris 的文件,表明是需要在 Solaris 下编译的内容。
这部分我用的系统是 SunOS 5.10,内核ID generic_147148-26,gcc 版本 5.5.0