ps命令
介绍
Linux中的ps命令是Process Status的缩写。显示系统当前终端下属于当前用户的进程快照,不能实时显示。
语法
ps [options]
选项
Unix风格测选项
选项名 | 含义 |
-a | 显示同一终端下的所有程序 |
-A | 显示所有进程 |
-N | 显示与指定参数不符的所有进程 |
-e | 等于“-A” |
-H | 显示树状结构 |
-l | 长格式显示 |
-au | |
-aux | 显示所有包含其他使用者的行程 |
-C cmdlist |
列出包含在cmdlist中的进程 |
-o format |
仅显示指定的列 |
-L |
显示进程中的线程 |
--lines |
每页显示的字符数 |
使用示例
# ps -l F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 4 S 0 1055 1048 0 80 0 - 29150 do_wai pts/0 00:00:00 bash 0 R 0 1395 1055 0 80 0 - 38328 - pts/0 00:00:00 ps
输出结果字段说明:
- F:程序的Flag,4代表用户为超级用户
- S:程序的运行状态
- R:正在运行或可被运行的程序
- S:睡眠中的程序
- T:侦测中或已停止的程序
- Z:非父进程管理终止的僵尸状态的子进程(已终止运行)
-
UID:运行程序的用户ID
-
PID:该程序的 ID
-
PPID:父进程的ID
-
C: CPU使用的资源百分比
-
PRI: 进程的优先级
-
NI:这个是 Nice 值
-
ADDR:这个是 kernel function,指出该程序在内存的那个部分。如果是个 running的程序,一般就是 "-"
-
SZ:使用掉的内存大小
-
WCHAN:目前这个程序是否正在运作当中,若为 - 表示正在运作
-
TTY:登入者的终端机位置
-
TIME:使用掉的 CPU 时间。CMD 所下达的指令为何
- CMD:启动的程序名称
以指定的字段显示
[root@tomcat ~]# ps -eo rss,pmem,pcpu,vsize,args | less RSS %MEM %CPU VSZ COMMAND 6432 0.6 0.0 127908 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 0 0.0 0.0 0 [kthreadd] 0 0.0 0.0 0 [ksoftirqd/0] 0 0.0 0.0 0 [kworker/0:0H]
以下是BSD风格的参数
T | 显示跟当前终端关联的所有进程 |
a | 显示跟任意终端关联的所有进程 |
g | 显示所有的进程,包括控制进程 |
r | 仅显示运行中的进程 |
x | 显示所有的进程,甚至包括未分配任何终端的进程 |
U userlist | 显示归userlist列表中某用户ID所有的进程 |
p pidlist | 显示PID在pidlist列表中的进程 |
O format | 除了默认输出的列之外,还输出由format指定的列 |
Z | 将安全信息添加到输出中 |
j | 显示任务信息 |
l | 采用长模式 |
o format | 仅显示由format指定的列 |
s | 采用信号格式显示 |
u | 采用基于用户的格式显示 |
v | 采用虚拟内存格式显示 |
N namelist | 定义在WCHAN列中使用的值 |
O order | 定义显示信息列的顺序 |
S | 将数值信息从子进程加到父进程上,比如CPU和内存的使用情况 |
c | 显示真实的命令名称(用以启动进程的程序名称) |
e | 显示命令使用的环境变量 |
f | 用分层格式来显示进程,表明哪些进程启动了哪些进程 |
k sort | 指定用以将输出排序的列 |
n | 和WCHAN信息一起显示出来,用数值来表示用户ID和组ID |
w | 为较宽屏幕显示宽输出 |
H | 将线程按进程来显示 |
m | 在进程后显示线程 |
L | 列出所有格式指定符 |
示例
[root@mysql ~]# ps aux --sort=-%cpu|less USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 860 0.2 1.8 560612 56860 ? Ssl Oct21 5:50 /usr/bin/containerd test 41351 0.2 4.3 2802016 131424 ? Sl Oct22 3:15 /home/test/softwares/jdk1.8.0_191/bin/java
输出信息说明
VSZ:进程在内存中的大小,以千字节(KB)为单位。
RSS:进程在未换出时占用的物理内存。
STAT:代表当前进程状态的双字符状态码
<:该进程运行在高优先级上。
N:该进程运行在低优先级上。
L:该进程有页面锁定在内存中。
s:该进程是控制进程。
l:该进程是多线程的。
+:该进程运行在前台。
以指定字段进行排序
排序中"+" 或者" "表示升序(默认),"-" 表示降序
# ps aux --sort=-%cpu|less USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND test 531 0.1 9.3 2270040 93388 ? Sl 20:58 0:11 /home/test/softwares/jdk1.8.0_191/bin/java -Djava.util.logging.config.file=/home/test/softwares/apache-tomcat-8.5.6/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -classpath /home/test/softwares/apache-tomcat-8.5.6/bin/bootstrap.jar:/home/test/softwares/apache-tomcat-8.5.6/bin/tomcat-juli.jar -Dcatalina.base=/home/test/softwares/apache-tomcat-8.5.6 -Dcatalina.home=/home/test/softwares/apache-tomcat-8.5.6 -Djava.io.tmpdir=/home/test/softwares/apache-tomcat-8.5.6/temp org.apache.catalina.startup.Bootstrap start root 1 0.0 0.6 127908 6432 ? Ss 20:58 0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 root 2 0.0 0.0 0 0 ? S 20:58 0:00 [kthreadd]
最有用的长参数
--format显示指定的列
[root@localhost test]# ps --format rss,pmem,pcpu,vsize,args RSS %MEM %CPU VSZ COMMAND 3364 0.1 0.0 116700 -bash 1504 0.0 0.0 153312 ps --format rss,pmem,pcpu,vsize,args
--forest 类似pstree,会显示进程的层级信息
[root@localhost test]# ps -ef --forest root 775 1 0 Aug27 ? 00:00:00 /usr/sbin/sshd -D root 1201 775 0 Aug27 ? 00:00:00 \_ sshd: root@pts/0 root 1203 1201 0 Aug27 pts/0 00:00:00 \_ -bash root 1970 1203 0 01:37 pts/0 00:00:00 \_ ps -ef --forest
posted on 2021-06-04 10:40 hopeless-dream 阅读(143) 评论(0) 编辑 收藏 举报