ps命令
ps:process status 进程状态
语法:
ps aux | grep xxx :查看系统中所有进程
ps -ef | grep xxx :可以查看父子进程之间的关系
选项 | 功能 |
---|---|
-a | 选择所有进程 |
-u | 显示所有用户的所有进程 |
-x | 不仅列出控制终端的进程,也列出所有无控制终端的进程 |
-j | 表示列出与作业控制相关的信息 |
经验技巧
- 如果想查看进程的CPU占用率和内存占用率,可以使用aux
- 如果想查看进程的父进程ID可以使用-ef
示例:
说明:
- ps aux显示信息说明
- USER:进程是由哪个用户产生的
- PID:进程的ID号
- %CPU:进程占用CPU资源的百分比,占用越高,进程越耗费资源;
- %MEM:进程占用物理内存的百分比,占用越高,进程越耗费资源;
- VSZ:进程占用虚拟内存的大小,单位KB;
- RSS:进程占用实际物理内存的大小,单位KB;
- TTY:进程是在哪个终端中运行的。其中tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。
- STAT:进程状态。常见的状态有:S-睡眠,s-表示包含子进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止,+表示位于后台等等
- START:进程的启动时间
- TIME:进程占用CPU的运算时间,注意不是系统时间
- COMMAND:启动进程所用的命令和参数,如果过长会被截断显示
示例:
示例:利用ps -axj | more 查看所有用户的作业。
其中:
- PPID为1的进程:表示该进程为孤儿进程,即init进程,守护进程为孤儿进程
- 凡是TPGID为-1的都是没有控制终端的进程,也就是守护进程。守护进程通常采用以d结尾的名字,表示Daemon。
- 在COMMAND一列用[]括起来的名字表示内核线程,这些线程在内核中创建,没有用户空间代码,通常采用以k为开头的名字,表示Kernel。
示例:
说明:
- ps -ef显示信息说明
- UID:用户ID
- PID:进程ID
- PPID:父进程ID
- C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
- STIME:进程启动的时间
- TTY:完整的终端名称
- TIME:CPU时间
- CMD:启动进程所用的命令和参数