ps 命令

ps aux

BSD操作系统格式,aux参数解释:

  1. a:显示现行终端机下的所有程序,包括其他用户的程序
  2. u:以用户为主的格式来显示程序状况
  3. x:显示所有程序,不以终端机来区分
congqingquan@localhost ~ % ps aux
USER               PID  %CPU %MEM      VSZ    RSS   TT  STAT STARTED      TIME COMMAND
congqingquan       546 133.8  0.8  4743640 138832   ??  R    13 422  1563:00.97 /System/Library/CoreServices/ReportCrash agent
congqingquan     47305   7.7  3.4  5987196 565660   ??  S    12 522    6:22.21 /Applications/iTerm.app/Contents/MacOS/iTerm2

输出字段解释:

  1. USER:进程的产生用户
  2. PID:进程的ID
  3. %CPU:占用CPU的百分比
  4. %MEN:占用实际物理内存的百分比
  5. VSZ:占用虚拟内存的大小(单位KB)
  6. RSS:占用实际物理内存的大小(单位KB)
  7. TTY:进程的运行终端。tty1-tty为本地终端。pts/0-255为虚拟终端,一般是远程连接的终端。?一般为系统调用。
  8. STAT:进程状态,常见的状态:
D:不可被唤醒的睡眠状态
R:该正常正在运行
S:该进程在睡眠状态,可被唤醒
T:停止状态,可能是在后台暂停或进程在除错状态
X:死掉的进程
Z:僵尸进程。进程已经终止,但是部分程序还在内存当中
<:高优先级
N:低优先级
L:被锁入内存
s:包含子进程
l:多线程(小写L)
+:位于后台

ps -ef

System V风格,-ef参数解释:

  1. -e:显示所有进程。
  2. -f:全格式
congqingquan@localhost Desktop % ps -ef
  UID   PID  PPID   C STIME   TTY           TIME CMD
    0     1     0   0 13 422  ??        63:15.40 /sbin/launchd
    0    92     1   0 13 422  ??         3:12.38 /usr/sbin/syslogd

输出字段解释:

  1. UID:进程的产生用户
  2. PID:进程的ID
  3. PPID:父进程的ID
  4. C:占用CPU的百分比
  5. STIME:进程的启动时间
  6. TTY:进程的运行终端
  7. TIME:进程占用CPU的运算时间
  8. CMD:进程的产生命令

常用参数(持续补充)

-o:指定输出字段
congqingquan@localhost Desktop % ps -ostat,ppid,pid,command -p 11837
STAT  PPID   PID COMMAND
SN    1443 11837 /usr/bin/java Test
--sort:指定排序字段(逆序直接在参数前加负号即可)
[root@VM-24-5-centos ~]# ps -e -o pid,tid,stat,%cpu,%mem,command --sort %cpu | head -4
  PID   TID STAT %CPU %MEM COMMAND
    1     1 Ss    0.0  0.1 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
    2     2 S     0.0  0.0 [kthreadd]
    4     4 S<    0.0  0.0 [kworker/0:0H]
[root@VM-24-5-centos ~]# ps -e -o pid,tid,stat,%cpu,%mem,command --sort -%cpu | head -4
  PID   TID STAT %CPU %MEM COMMAND
 6493  6493 Sl    0.7  2.0 /usr/local/qcloud/YunJing/YDEyes/YDService
 3493  3493 Sl    0.4  0.7 barad_agent
24221 24221 Sl    0.1  0.3 /usr/local/qcloud/tat_agent/tat_agent

实际应用(持续补充)

1. 查看java进程: ps aux | grep java 或 ps -ef | grep java

2. 查看进程的信息,并根据指定字段排序

ps -e -o pid,tid,stat,%cpu,%mem,command --sort %cpu
ps -e -o pid,tid,stat,%cpu,%mem,command --sort -%cpu
(生序还是降序取决于--sort后的参数的正负号)
ps h -e -o pid,tid,stat,%cpu,%mem,command | sort -rnk 4
(因为是通过sort命令排序,ps结果中包含的列标题也会参与到排序中,通过参数h取消展示)

3. 根据PID查看具体进程的信息(主要查看cpu & 内存使用率 & 进程状态)

ps -o pid,tid,stat,%cpu,%mem,command -p {PID}

4. 查询进程与其线程信息,并根据指定字段排序

ps H -e -o pid,tid,stat,%cpu,%mem,command --sort %cpu | grep {PID}

相比第二条,多了参数H与grep {PID}。
H参数开启线程信息查看。通过grep PID的方式筛选进程的线程信息。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值