Ps命令
ps 命令是基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源;
显示所有使用者的进程
命令:ps auxf 参数介绍:
a: 显示其他用户启动的进程u: 启动这个进程的用户和它启动的时间,没有指定值,默认是root; 会被a参数覆盖x: 显示没有控制终端的进程f: 全部列出
内容包括:
| USER | PID | %CPU | %MEM | VSZ | RSS | TTY | STAT | START | TIME | COMMAND |
|---|---|---|---|---|---|---|---|---|---|---|
| 用户名 | 进程ID | cpu占用率 | 内存占用率 | 使用虚存大小 | 实际内存的大小 | 关联的终端(tty) | 进程的状态 | 进程启动时间和日期 | 占用总cpu时间 | 正在执行的命令行命令 |
指定用户的进程
命令:ps -fu rpc --forest 参数介绍:
f: 全部列出u: 指定用户名或者用户ID,没有指定值,默认是root; 会被a参数覆盖--forest: 打印过程树,过程树显示系统中的进程如何相互链接; 父类被杀死的进程由init(或systemd)采用
指定用户组的进程
命令:ps -fG daemon --forest 参数介绍:
f: 全部列出G: 指定组名或组ID--forest: 打印过程树,过程树显示系统中的进程如何相互链接; 父类被杀死的进程由init(或systemd)采用
指定 PID 的进程
命令:ps -fp 1021 参数介绍:
f: 全部列出p: 指定进程 ID,可选多个,以逗号隔开
指定 PPID 的子进程
命令:ps -f --ppid 2 参数介绍:
f: 全部列出--ppid: 指定进程 ID 的子进程
指定 TTY 的进程
命令:ps -ft tty1 参数介绍:
f: 全部列出t: 指定tty的进程
指定进程的所有线程
命令:ps -fL -C httpd 参数介绍:
f: 全部列出L: 打印线程C: 指定进程名
内容包括:
| USER | PID | PPID | LWP | C | NLWP |
|---|---|---|---|---|---|
| 用户名 | 进程ID | 父进程ID | 线程 | 进程名 | 线程数 |
根据 CPU 使用排序进程
静态命令:ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head 动态命令:watch -n 1 'ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head 参数介绍:
e: 显示所有进程,同A参数o: 自定义显示字段--sort:根据哪个字段排序
根据内存使用排序进程
静态命令:ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head 动态命令:watch -n 1 'ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head 参数介绍:
e: 显示所有进程,同A参数o: 自定义显示字段--sort:根据哪个字段排序
附:进程状态
R: 运行S: 睡眠I: 空闲Z: 僵死D: 不可中断T: 终止P: 等待交换页W: 无驻留页X: 死掉的进程<: 高优先级进程N: 低优先级进程L: 内存锁页s: 进程的领导者(在它之下有子进程)+: 位于后台的进程组