# 理解Linux进程
### 关于这本书
本书受[*理解Unix进程*](http://www.duokan.com/book/41446)启发而作,用极简的篇幅深入学习进程知识。
*理解Linux进程*用Go重写了所有示例程序,通过循序渐进的方法介绍Linux进程的工作原理和一切你所需要知道的概念。
本书适合所有Linux程序员阅读。[在线阅读](http://www.linuxprocess.com),[PDF下载](https://github.com/tobegit3hub/understand_linux_process/blob/master/understan_linux_process.pdf?raw=true)。
### 三位好朋友
阅读前介绍三位即将与大家打交道的小伙伴:Linux、Go和Docker。
![](https://box.kancloud.cn/2015-08-18_55d2f2e2ca7cb.png)
Linux是我们主要的研究对象,书中所有概念与程序都基于Linux,这同样适用于所有Unix-like系统。
![](https://box.kancloud.cn/2015-08-18_55d2f2e55d92a.png)
Go是本书所有示例程序的实现语言,当然进程的概念与原理是相通的,你也可以使用其他编程语言实现。
![](https://box.kancloud.cn/2015-08-18_55d2f2e56b794.png)
Docker为我们创造可重复的实验环境,使用Docker容器你可以轻易地模拟与本书一模一样的运行环境。
- 前言
- 致谢
- 概述
- 使用代码
- 使用Docker
- 进程基础
- 进程是什么
- Hello World
- PID
- PPID
- 使用PID
- 进程名字
- 进程参数
- 输入与输出
- 并发与并行
- 进程越多越好
- 进程状态
- 退出码
- 进程资源
- 死锁
- 活锁
- POSIX
- Nohup
- 运行进程
- Go编程实例
- 衍生新进程
- 执行外部程序
- 复制进程
- 进程进阶
- 文件锁
- 孤儿进程
- 僵尸进程
- 守护进程
- 进程间通信
- 信号
- Linux系统调用
- 文件描述符
- Epoll
- 共享内存
- Copy On Write
- Cgroups
- Namespaces
- 项目实例Run
- 项目架构
- 代码实现
- 注意事项
- 创建目录权限
- 捕获SIGKILL
- Sendfile系统调用
- 后记
- 参考书籍
- 项目学习
- 再次感谢