如何通过apue文章集锦深入学习Unix系统编程?
摘要:与 apue 相关的一系列文章比较庞杂,按原书目录整理了一下,形成目录,方便系统性阅读。 另外这些文章是在我快读完的时候开始写的,之前的一些章节还多有遗漏,后面慢慢补上。 chapter 1: UNIX 基础知识 chapter 2: UN
与 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 4: 文件和目录
[apue] linux 文件访问权限那些事儿
[apue] linux 文件系统那些事儿
[apue] 文件中的空洞
chapter 5: 标准 IO 库
[apue] 标准 I/O 库那些事儿
chapter 6: 系统数据文件和信息
[apue] Unix 系统数据文件那些事儿
[apue] 一图读懂 Unix 时间日期例程相互关系
chapter 7: 进程环境
[apue] 进程环境那些事儿
chapter 8:进程控制
[apue] 进程控制那些事儿
chapter 10:信号
[apue] 等待子进程的那些事儿
chapter 14:高级 I/O
[apue] 使用文件记录锁无法实现父子进程交互执行同步
[apue] epoll 的一些不为人所注意的特性
chapter 15:进程间通信
[apue] 多进程管道读写的一些疑问
[apue] 测试管道容量的一些疑问
[apue] 管道原子写入量的一个疑问
[apue] 使用 poll 检测管道断开
[apue] 使用 popen/pclose 的一点疑问
[apue] popen/pclose 疑点解惑
[apue] FIFO:不是文件的文件
chapter 16:网络 IPC:套接字
[apue] syslog 导致 accept 出错?
[apue] 如何处理 tcp 紧急数据(OOB)?
chapter 17:高级进程间通信
[apue] 神奇的 Solaris pipe
[apue] 作为 daemon 启动, Unix Domain Socket 侦听失败?
chapter 18:终端 I/O
[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
