1.查看所有进程

$ ps ax
$ ps -e

加上 -f 或者 u 参数可以显示进程的详细信息

$ ps aux
$ ps -ef

2.显示某个用户的进程

$ ps -f -u nova,neutron

3.通过进程名或者进程id显示进程

$ ps -C neutron-server
# -C 只能搜索名为neutron-server的进程(完全匹配),不能使用部分搜索或者通配符,例如 ps -C neutron 就不会显示neutron-server进程。因此部分匹配用 ps -ef | grep neutron

$ ps -f -p 3150,7298,6544

4.利用 cpu 或者内存使用量对进程排序

$ ps aux --sort=-pcpu,+pmem
# 首先以 cpu 使用量排序呢, 如果 cpu 使用量相同,则以内存使用量排序。
$ ps aux --sort=-pcpu,+pmem | head 5

5.显示 ASCII 进程树

$ ps -ef --forest
$ ps -f --forest -C neutron-server

6.显示父进程的子进程

$ ps -o pid,uname,comm -C neutron-server
$ ps --ppid 28208

7.显示进程的线程

$ ps -ef | grep bash
$ ps -p 14447 -L

8.改变显示的字段

$ ps -e -o pid,uname,pcpu,pmem,comm
$ ps -e -o pid,uname=USERNAME,pcpu=CPU_USAGE,pmem,comm

9.显示进程已运行的时间

$ ps -e -o pid,comm,etime

10.用ps命令实时显示进程信息

$ watch -n 1 'ps -e -o pid,uname,cmd,pmem,pcpu --sort=-pmem,-pcpu | head -15'