zoukankan      html  css  js  c++  java
  • 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+  7月03   0:00 -bash
    liudiwei  5589  0.0  0.0 116876  3544 pts/0    Ss+  8月01   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);
    + 位于后台的进程组;
  • 相关阅读:
    子信息传递多个参数
    Oracle q' 简化单引号转义
    HTML的target属性中_blank、_self、_parent、_top含义
    数据库设计之“有时不得不违背的第三范式”
    Jquery下的Ajax调试方法
    JQuery.Ajax之错误调试帮助信息
    定时删除数据-用JOB
    数据分析
    机器学习数学基础
    机器学习数学基础
  • 原文地址:https://www.cnblogs.com/xlc114/p/4698588.html
Copyright © 2011-2022 走看看