ps命令常用于:
1、显示所有进程信息
2、显示指定用户相关进程信息
3、显示所有进程信息,连带命令行
4、ps 与grep 常用组合用法,查找特定进程
5、搭配kill指令随时中断、删除不必要的程序
1、功能说明
用于显示当前系统的进程状态
2、语法格式
ps [选项]
3、选项解释
a 显示所有程序,包括其他用户的程序
-a 显示所有终端机下执行的程序
-A 显示所有程序
c 显示每个程序真正的指令名称
-c 显示CLS和PRI栏位。
-C<指令名称> 指定执行指令的名称,并列出该指令的程序的状况。
e 显示环境变量
-e 显示所有进程
f 显示程序间的关系
-f 显示UID,PPIP,C与STIME栏位
-H 显示树状结构
r 显示当前终端的进程
T 显示当前终端的所有程序
-l 采用详细的格式来显示程序状况
L 列出栏位的相关信息
-o 显示与指定关键字的空格或逗号分隔列表相关的信息。多个关键字也可以以多个-o选项的形式给出
u 显示进程的用户信息
-u 显示指定用户相关的进程信息
-x 显示没有控制终端的进程,同时显示各个命令的具体路径
x 显示与终端无关的所有进程
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
-ef 显示所有进程信息,连同命令行
...
4、参考实例
- 显示所有进程信息
ps -A
- 显示指定用户信息
[root@xiaonong ~]$ ps -u root
PID TTY TIME CMD
1 ? 04:17:59 systemd
2 ? 00:00:47 kthreadd
4 ? 00:00:00 kworker/0:0H
6 ? 01:28:46 ksoftirqd/0
7 ? 00:02:44 migration/0
8 ? 00:00:00 rcu_bh
9 ? 1-09:22:01 rcu_sched
- 显示所有进程信息,连同命令行
ps -ef
当数量过多时,可搭配more分页
- 查看特定进程
ps -ef | grep java
ps -aux | grep java
- 通过名字或命令搜索进程
[root@xiaonong ~]$ ps -C nginx
PID TTY TIME CMD
3100 ? 00:03:17 nginx
8008 ? 00:36:25 nginx
20745 ? 00:57:37 nginx
25055 ? 00:00:01 nginx
31771 ? 02:01:10 nginx
- 输出指定的字段
[root@xiaonong ~]$ ps -o pid,ppid,pgrp,session,user,time
PID PPID PGRP SESS USER TIME
21931 21930 21931 21931 root 00:00:00
29137 21931 29137 21931 root 00:00:00
29138 21931 29137 21931 root 00:00:00
- 把所有进程显示出来,并输出到test.txt文件
ps -aux > test.txt
- 查看线程数
[root@xiaonong ~]$ ps -efL
UID PID PPID LWP C NLWP STIME TTY TIME CMD
root 1 0 1 0 1 2020 ? 04:17:59 /usr/lib/systemd/systemd --system --deserialize 21
root 2 0 2 0 1 2020 ? 00:00:47 [kthreadd]
root 4 2 4 0 1 2020 ? 00:00:00 [kworker/0:0H]
root 6 2 6 0 1 2020 ? 01:28:46 [ksoftirqd/0]
root 7 2 7 0 1 2020 ? 00:02:44 [migration/0]
5、拓展命令
1、杀死特定程序
ps -aux | grep java | awk '{print $2}' | xargs kill -9
2、查看cpu占用率前5的进程
ps -aux --sort=-pcpu|head -5
3、CPU或者内存进行排序,-降序,+升序
ps aux --sort=-pcpu,+pmem
4、通过进程id获取服务名称
ps -o command -p 88888 | sed -n 2p
5、按内存资源的使用量对进程进行排序
ps aux | sort -rnk 4
ps -e -o "%C : %p :%z : %a"|sort -k5 -nr
6、查看进程的PID、名称以及CPU 占用率
ps axo pid,comm,pcpu
7、找出与job、job2服务有关的PID号码
ps aux | egrep '(job|job2)'
8、显示一个父进程的子进程
ps -o pid,uname,comm -C nginx
6、补充说明
UID 此进程的拥有者
PID 进程的标识号
PPID 进程的父进程的标识号
C CPU使用的资源百分比
STIME 进程开始的时间
TTY 该进程是在哪个终端上运作,与终端无关的显示问号"?"
TMIE 进程使用CPU总的时间
CMD 正在执行的命令行
USER 该进程所属用户
%CPU 该进程所用掉的CPU资源百分比
%MEM 该进程所占用的物理内存百分比
VSZ 该进程使用掉的虚拟内存量 (Kbytes)
RSS 该进程占用的固定的内存量 (Kbytes)
STAT 进程目前的状态:
R 正在运行或者是可被运行
S 该程序目前正在睡眠当中,但可被某些讯号 (signal) 唤醒
D 不可中断睡眠
T 正在侦查或者是停止了
Z 僵尸进程
< 优先级高的进程
N 优先级较低的进程
L 有些页被锁进内存
s 进程的领导者
l 多线程进程
+ 位于后台的进程组
START 该进程被触发启动的时间
网友评论