[Linux]ps命令参数应用说明

[Linux]ps命令参数应用说明

Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。

要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。


基本用法

ps  [options]  [--help]

参数详解

参数用途
a显示所有进程
-a显示同一终端下的所有程序
-A显示所有进程
c显示进程的真实名称
-N反向选择
-e等于“-A”
e显示环境变量
f显示程序间的关系
-H显示树状结构
r显示当前终端的进程
T显示当前终端的所有程序
u指定用户的所有进程
-au显示较详细的资讯
-aux显示所有包含其他使用者的行程
-C<命令>列出指定命令的状况
–lines<行数>每页显示的行数
–width<字符数>每页显示的字符数
–help显示帮助信息
–version显示版本显示

使用实例

显示所有进程信息
ps -A
[root@localhost test6]# ps -A
  PID TTY          TIME CMD
    1 ?        00:00:00 init
    2 ?        00:00:01 migration/0
显示指定用户信息
ps -u root
[root@localhost test6]# ps -u root
  PID TTY          TIME CMD
    1 ?        00:00:00 init
    2 ?        00:00:01 migration/0
显示所有进程信息,连同命令行
ps -ef
[root@localhost test6]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Nov02 ?        00:00:00 init [3]                  
root         2     1  0 Nov02 ?        00:00:01 [migration/0]
ps 与grep 常用组合用法,查找特定进程
ps -ef|grep ssh
[root@localhost test6]# ps -ef|grep ssh
root      2720     1  0 Nov02 ?        00:00:00 /usr/sbin/sshd
root     17394  2720  0 14:58 ?        00:00:00 sshd: root@pts/0 
将目前属于您自己这次登入的 PID 与相关信息列示出来
ps -l
[root@localhost test6]# ps -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0 17398 17394  0  75   0 - 16543 wait   pts/0    00:00:00 bash
4 R     0 17469 17398  0  77   0 - 15877 -      pts/0    00:00:00 ps
列出目前所有的正在内存当中的程序
ps aux
[root@localhost test6]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  10368   676 ?        Ss   Nov02   0:00 init [3]                  
root         2  0.0  0.0      0     0 ?        S<   Nov02   0:01 [migration/0]
列出类似程序树的程序显示
ps -axjf
root@localhost test6]# ps -axjf
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
 PPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND
    0     1     1     1 ?           -1 Ss       0   0:00 init [3]                  
    1     2     1     1 ?           -1 S<       0   0:01 [migration/0]
找出与 cron 与 syslog 这两个服务有关的 PID 号码
ps aux | egrep '(cron|syslog)'
[root@localhost test6]# ps aux | egrep '(cron|syslog)'
root      2682  0.0  0.0  83384  2000 ?        Sl   Nov02   0:00 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
root      2735  0.0  0.0  74812  1140 ?        Ss   Nov02   0:00 crond
root     17475  0.0  0.0  61180   832 pts/0    S+   16:27   0:00 egrep (cron|syslog)
可以用 | 管道和 more 连接起来分页查看
ps -aux |more
输出指定的字段
ps -o pid,ppid,pgrp,session,tpgid,comm

输出说明

输出字段含义
USER该 process 属于那个使用者账号的
PID该 process 的号码
%CPU该 process 使用掉的 CPU 资源百分比
%MEM该 process 所占用的物理内存百分比
VSZ该 process 使用掉的虚拟内存量 (Kbytes)
RSS该 process 占用的固定的内存量 (Kbytes)
TTY该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
STAT该程序目前的状态,主要的状态有
R该程序目前正在运作,或者是可被运作
S该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。
T该程序目前正在侦测或者是停止了
Z该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
START该 process 被触发启动的时间
TIME该 process 实际使用 CPU 运作的时间
COMMAND该程序的实际指令
F代表这个程序的旗标(flag),4代表使用者为super user
S代表这个程序的状态(STAT),关于各STAT的意义将在内文介绍
UID程序被该UID所拥有
PID就是这个程序的ID!
PPID则是其上级父程序的ID
CCPU使用的资源百分比
PRI这个是Priority(优先执行序)的缩写,详细后面介绍
NI这个是Nice值,在下一小节我们会持续介绍
ADDR这个是kernel function,指出该程序在内存的那个部分。如果是个running的程序,一般就是”-“
SZ使用掉的内存大小
WCHAN目前这个程序是否正在运作当中,若为-表示正在运作
TTY登入者的终端机位置
TIME使用掉的CPU时间。
CMD所下达的指令为何
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值