Linux学习-ps aux指令

如果直接用ps命令,会显示所有进程的状态,通常结合grep命令查看某进程的状态。如果想对进程时间监控,应该用 top 工具。下面主要介绍下ps指令。

linux进程状态

在Linux中,进程存在5中状态

  1. 运行状态(正在运行或在运行队列中等待)
  2. 中断状态(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
  3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
  4. 僵死状态(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
  5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)

ps常用命令

下面是常用的ps指令,查看进程状态
(1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。
(2)ps -A 显示所有程序。
(3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
(4)ps -e 此参数的效果和指定”A”参数相同。
(5)ps e 列出程序时,显示每个程序所使用的环境变量。
(6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
(7)ps -H 显示树状结构,表示程序间的相互关系。
(8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
(9)ps s 采用程序信号的格式显示程序状况。
(10)ps S 列出程序时,包括已中断的子程序资料。
(11)ps -t <终端机编号>  指定终端机编号,并列出属于该终端机的程序的状况。
(12)ps u   以用户为主的格式来显示程序状况。
(13)ps x   显示所有程序,不以终端机来区分。
(14)ps -l 較長,較詳細的顯示該PID的信息
(15)ps au 显示终端下用户的所有程序

运行实例

实例一:ps -lA | more
$ ps -lA |more
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0     1     0  0  80   0 - 13212 ep_pol ?        00:02:16 systemd
1 S     0     2     0  0  80   0 -     0 kthrea ?        00:00:00 kthreadd
1 S     0     3     2  0  80   0 -     0 smpboo ?        00:00:01 ksoftirqd/0
1 S     0     5     2  0  60 -20 -     0 worker ?        00:00:00 kworker/0:0H
1 S     0     7     2  0 -40   - -     0 smpboo ?        00:00:05 migration/0
1 S     0     8     2  0  80   0 -     0 rcu_gp ?        00:00:00 rcu_bh
1 S     0     9     2  0  80   0 -     0 rcu_no ?        00:00:00 rcuob/0
1 S     0    10     2  0  80   0 -     0 rcu_no ?        00:00:00 rcuob/1
1 R     0    11     2  0  80   0 -     0 ?      ?        00:10:41 rcu_sched
1 S     0    12     2  0  80   0 -     0 rcu_no ?        00:04:07 rcuos/0
1 S     0    13     2  0  80   0 -     0 rcu_no ?        00:06:51 rcuos/1
5 S     0    14     2  0 -40   - -     0 smpboo ?        00:00:16 watchdog/0
5 S     0    15     2  0 -40   - -     0 smpboo ?        00:00:15 

相关信息解释:

F  :进程的标志(flag),4表示用户为超级用户
S  :进程的状态(stat)
PID:进程的ID
C  :CPU使用资源的百分比
PRI:priority(优先级)的缩写,
NI :Nice值,
ADDR:核心功能,指出该进程在內存的那一部分,如果是运行的进程,一般都是“-”
SZ :用掉的内存的大小
WCHAN:当前进程是否正在运行,若为“-”表示正在进行
TTY :登陆者的终端位置
TIME:用掉的CPU的时间
CMD :所执行的指令
实例二:ps aux |more
# ps aux |more
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  52848  5616 ?        Ss   7月03   2:16 /usr/lib/systemd/systemd --switched-root --syst
em --deserialize 23
root         2  0.0  0.0      0     0 ?        S    7月03   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    7月03   0:01 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<   7月03   0:00 [kworker/0:0H]
root         7  0.0  0.0      0     0 ?        S    7月03   0:05 [migration/0]
root         8  0.0  0.0      0     0 ?        S    7月03   0:00 [rcu_bh]
root         9  0.0  0.0      0     0 ?        S    7月03   0:00 [rcuob/0]
root        10  0.0  0.0      0     0 ?        S    7月03   0:00 [rcuob/1]
root        11  0.0  0.0      0     0 ?        S    7月03  10:41 [rcu_sched]
root        12  0.0  0.0      0     0 ?        R    7月03   4:07 [rcuos/0]
root        13  0.0  0.0      0     0 ?        S    7月03   6:51 [rcuos/1]
root        14  0.0  0.0      0     0 ?        S    7月03   0:16 [watchdog/0]
root        15  0.0  0.0      0     0 ?        S    7月03   0:15 [watchdog/1]
root        16  0.0  0.0      0     0 ?        S    7月03   0:06 [migration/1]
root        17  0.0  0.0      0     0 ?        S    7月03   0:23 [ksoftirqd/1]
root        19  0.0  0.0      0     0 ?        S<   7月03   0:00 [kworker/1:0H]
root        20  0.0  0.0      0     0 ?        S<   7月03   0:00 [khelper]
root        21  0.0  0.0      0     0 ?        S    7月03   0:00 [kdevtmpfs]

参数解释说明:

USER  进程的属主;
PID   进程的ID;
PPID  父进程;
%CPU  进程占用的CPU百分比;
%MEM  占用内存的百分比;
NI    进程的NICE值,数值大,表示较少占用CPU时间;
VSZ   该进程使用的虚拟內存量(KB);
RSS   该进程占用的固定內存量(KB)(驻留中页的数量);
TTY   该进程在終端上运行(登陆者的終端位置),若与终端无关,则显示(?)。若为pts/0等,则表示由网络连接主机进程
WCHAN 当前进程是否正在运行,若为“-”表示正在运行;
START 该进程被触发启动时间;
TIME  该进程实际使用CPU运行的时间;
COMMAND 命令的名称和参数;
实例三:ps au

可显示当前用户的任务进程

[liudiwei@master bin]$ ps au
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      2333  0.0  0.0 116568  2296 tty1     Ss+  703   0:00 -bash
liudiwei  5589  0.0  0.0 116876  3544 pts/0    Ss+  801   0:02 -bash
liudiwei  6042  0.0  0.0 123356  1328 pts/2    R+   22:31   0:00 ps au
liudiwei  9896 67.1 13.5 5547340 3320412 pts/0 R    10:58 464:55 python cross_validation.py
root     13757  0.0  0.0 116700  3168 pts/3    Ss+  21:01   0:00 -bash
liudiwei 15102 29.2  6.5 5551488 1599236 pts/0 R    17:10  93:41 python submodulary.py 1
liudiwei 15578  0.0  0.0 116800  3448 pts/2    Ss   17:12   0:00 -bash
liudiwei 15777 28.9  6.4 5545876 1584784 pts/2 R    17:12  92:14 python submodulary.py 7
liudiwei 15791 28.8  6.4 5545900 1578696 pts/2 R    17:12  91:54 python submodulary.py 8
liudiwei 15860 29.0  6.4 5536464 1582700 pts/2 R    17:13  92:14 python submodulary.py 9
liudiwei 15875 28.9  6.4 5542372 1584640 pts/2 R    17:13  92:04 python submodulary.py 10

STAT状态位常見的状态字符


D 无法中断的休眠状态(通常 IO 的进程);
R 正在运行可中在队列中可过行的;
S 处于休眠状态;
T 停止或被追踪;
W 进入内存交换  (从内核2.6开始无效);
X 死掉的进程   (基本很少見);
Z 僵尸进程;
< 优先级高的进程
N 优先级较低的进程
L 有些页被锁进内存;
s 进程的领导者(在它之下有子进程);
l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads);
+ 位于后台的进程组;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值