diff --git a/notes/Linux.md b/notes/Linux.md
index a50cb331..cf05beab 100644
--- a/notes/Linux.md
+++ b/notes/Linux.md
@@ -49,7 +49,8 @@
* [awk](#awk)
* [九、进程管理](#九进程管理)
* [查看进程](#查看进程)
- * [查看端口](#查看端口)
+ * [进程状态](#进程状态)
+ * [孤儿进程和僵死进程](#孤儿进程和僵死进程)
* [十、I/O 复用](#十io-复用)
* [概念理解](#概念理解)
* [I/O 模型](#io-模型)
@@ -995,7 +996,7 @@ dmtsai lines: 5 columns: 9
范例 3:/etc/passwd 文件第三个字段为 UID,对 UID 小于 10 的数据进行处理。
```text
-cat /etc/passwd | awk 'BEGIN {FS=":"} $3 < 10 {print $1 "\t " $3}'
+$ cat /etc/passwd | awk 'BEGIN {FS=":"} $3 < 10 {print $1 "\t " $3}'
root 0
bin 1
daemon 2
@@ -1005,16 +1006,80 @@ daemon 2
## 查看进程
-```html
-ps aux | grep threadx
+### 1. ps
+
+查看某个时间点的进程信息
+
+示例一:查看自己的进程
+
+```
+# ps -l
```
-## 查看端口
+示例二:查看系统所有进程
+
+```
+# ps aux
+```
+
+示例三:查看特定的进程
```html
-netstat -anp | grep 80
+# ps aux | grep threadx
```
+### 2. top
+
+实时显示进程信息
+
+示例:两秒钟刷新一次
+
+```
+# top -d 2
+```
+
+### 3. pstree
+
+查看进程树
+
+示例:查看所有进程树
+
+```
+# pstree -A
+```
+
+### 4. netstat
+
+查看占用端口的进程
+
+```
+# netstat -anp | grep port
+```
+
+## 进程状态
+
+
+
+
+
+## 孤儿进程和僵死进程
+
+### 1. 孤儿进程
+
+一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被 init 进程(进程号为 1)所收养,并由 init 进程对它们完成状态收集工作。
+
+由于孤儿进程会被 init 进程收养,所以孤儿进程不会对系统造成危害。
+
+### 2. 僵死进程
+
+一个子进程的进程描述符在子进程退出时不会释放,只有当父进程通过 wait 或 waitpid 获取了子进程信息后才会释放。如果子进程退出,而父进程并没有调用 wait 或 waitpid,那么子进程的进程描述符仍然保存在系统中,这种进程称之为僵死进程。
+
+僵死进程通过 ps 命令显示出来的状态为 Z。
+
+系统所能使用的进程号是有限的,如果大量的产生僵死进程,将因为没有可用的进程号而导致系统不能产生新的进程。
+
+要消灭系统中大量的僵死进程,只需要将其父进程杀死,此时所有的僵死进程就会变成孤儿进程,从而被 init 所收养,这样 init 就会释放所有的僵死进程所占有的资源,从而结束僵死进程。
+
# 十、I/O 复用
## 概念理解
@@ -1154,3 +1219,5 @@ epoll 对文件描述符的操作有两种模式:LT(level trigger)和 ET
- [Synchronous and Asynchronous I/O](https://msdn.microsoft.com/en-us/library/windows/desktop/aa365683(v=vs.85).aspx)
- [Linux IO 模式及 select、poll、epoll 详解](https://segmentfault.com/a/1190000003063859)
- [poll vs select vs event-based](https://daniel.haxx.se/docs/poll-vs-select.html)
+- [Linux 之守护进程、僵死进程与孤儿进程](http://liubigbin.github.io/2016/03/11/Linux-%E4%B9%8B%E5%AE%88%E6%8A%A4%E8%BF%9B%E7%A8%8B%E3%80%81%E5%83%B5%E6%AD%BB%E8%BF%9B%E7%A8%8B%E4%B8%8E%E5%AD%A4%E5%84%BF%E8%BF%9B%E7%A8%8B/)
+- [Linux process states](https://idea.popcount.org/2012-12-11-linux-process-states/)
diff --git a/pics/76a49594323247f21c9b3a69945445ee.png b/pics/76a49594323247f21c9b3a69945445ee.png
new file mode 100644
index 00000000..788ba0b1
Binary files /dev/null and b/pics/76a49594323247f21c9b3a69945445ee.png differ
diff --git a/pics/flow.png b/pics/flow.png
new file mode 100644
index 00000000..aa0492a4
Binary files /dev/null and b/pics/flow.png differ