# 理解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。

Linux是我們主要的研究對象,書中所有概念與程序都基于Linux,這同樣適用于所有Unix-like系統。

Go是本書所有示例程序的實現語言,當然進程的概念與原理是相通的,你也可以使用其他編程語言實現。

Docker為我們創造可重復的實驗環境,使用Docker容器你可以輕易地模擬與本書一模一樣的運行環境。
- 前言
- 致謝
- 概述
- 使用代碼
- 使用Docker
- 進程基礎
- 進程是什么
- Hello World
- PID
- PPID
- 使用PID
- 進程名字
- 進程參數
- 輸入與輸出
- 并發與并行
- 進程越多越好
- 進程狀態
- 退出碼
- 進程資源
- 死鎖
- 活鎖
- POSIX
- Nohup
- 運行進程
- Go編程實例
- 衍生新進程
- 執行外部程序
- 復制進程
- 進程進階
- 文件鎖
- 孤兒進程
- 僵尸進程
- 守護進程
- 進程間通信
- 信號
- Linux系統調用
- 文件描述符
- Epoll
- 共享內存
- Copy On Write
- Cgroups
- Namespaces
- 項目實例Run
- 項目架構
- 代碼實現
- 注意事項
- 創建目錄權限
- 捕獲SIGKILL
- Sendfile系統調用
- 后記
- 參考書籍
- 項目學習
- 再次感謝