如何通过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