精华内容
下载资源
问答
  • Linux中ps命令介绍

    千次阅读 2017-01-17 08:51:09
    Linux中ps命令是Process Status的缩写。ps命令用来列出系统当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。 ...

    原文地址:http://www.cnblogs.com/peida/archive/2012/12/19/2824418.html

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

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

    ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具。

    kill 命令用于杀死进程。

    linux上进程有5种状态: 

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

     

    ps工具标识进程的5种状态码: 

        D 不可中断 uninterruptible sleep (usually IO) 
        R 运行 runnable (on run queue) 
        S 中断 sleeping 
        T 停止 traced or stopped 
        Z 僵死 a defunct (”zombie”) process 


    1.命令格式:

    ps[参数]

    2.命令功能:

    用来显示当前进程的状态

    3.命令参数:

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


    4.使用实例:

    实例1:显示所有进程信息

    命令:

    ps -A

    输出:

    [root@localhost test6]# ps -A

      PID TTY          TIME CMD

        1 ?        00:00:00 init

        2 ?        00:00:01 migration/0

        3 ?        00:00:00 ksoftirqd/0

        4 ?        00:00:01 migration/1

        5 ?        00:00:00 ksoftirqd/1

        6 ?        00:29:57 events/0

        7 ?        00:00:00 events/1

        8 ?        00:00:00 khelper

       49 ?        00:00:00 kthread

       54 ?        00:00:00 kblockd/0

       55 ?        00:00:00 kblockd/1

       56 ?        00:00:00 kacpid

      217 ?        00:00:00 cqueue/0

      ……省略部分结果

    说明:

    实例2:显示指定用户信息

    命令:

    ps -u root

    输出:

    [root@localhost test6]# ps -u root

      PID TTY          TIME CMD

        1 ?        00:00:00 init

        2 ?        00:00:01 migration/0

        3 ?        00:00:00 ksoftirqd/0

        4 ?        00:00:01 migration/1

        5 ?        00:00:00 ksoftirqd/1

        6 ?        00:29:57 events/0

        7 ?        00:00:00 events/1

        8 ?        00:00:00 khelper

       49 ?        00:00:00 kthread

       54 ?        00:00:00 kblockd/0

       55 ?        00:00:00 kblockd/1

       56 ?        00:00:00 kacpid

        ……省略部分结果

    说明:

    实例3:显示所有进程信息,连同命令行

    命令:

    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]

    root         3     1  0 Nov02 ?        00:00:00 [ksoftirqd/0]

    root         4     1  0 Nov02 ?        00:00:01 [migration/1]

    root         5     1  0 Nov02 ?        00:00:00 [ksoftirqd/1]

    root         6     1  0 Nov02 ?        00:29:57 [events/0]

    root         7     1  0 Nov02 ?        00:00:00 [events/1]

    root         8     1  0 Nov02 ?        00:00:00 [khelper]

    root        49     1  0 Nov02 ?        00:00:00 [kthread]

    root        54    49  0 Nov02 ?        00:00:00 [kblockd/0]

    root        55    49  0 Nov02 ?        00:00:00 [kblockd/1]

    root        56    49  0 Nov02 ?        00:00:00 [kacpid]

    ……省略部分结果

    说明:

    实例4: 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 

    root     17465 17398  0 15:57 pts/0    00:00:00 grep ssh

    说明:

    实例5:将目前属于您自己这次登入的 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

    说明:

    各相关信息的意义:
    F 代表这个程序的旗标 (flag), 4 代表使用者为 super user
    S 代表这个程序的状态 (STAT),关于各 STAT 的意义将在内文介绍
    UID 程序被该 UID 所拥有
    PID 就是这个程序的 ID !
    PPID 则是其上级父程序的ID
    C CPU 使用的资源百分比
    PRI 这个是 Priority (优先执行序) 的缩写,详细后面介绍
    NI 这个是 Nice 值,在下一小节我们会持续介绍
    ADDR 这个是 kernel function,指出该程序在内存的哪个部分。如果是个 running的程序,一般就是 "-"
    SZ 使用掉的内存大小
    WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作
    TTY 登入者的终端机位置
    TIME 使用掉的 CPU 时间。
    CMD 所下达的指令为何
    在预设的情况下, ps 仅会列出与目前所在的 bash shell 有关的 PID 而已,所以, 当我使用 ps -l 的时候,只有三个 PID。


    实例6:列出目前所有的正在内存当中的程序

    命令:

    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]

    root         3  0.0  0.0      0     0 ?        SN   Nov02   0:00 [ksoftirqd/0]

    root         4  0.0  0.0      0     0 ?        S<   Nov02   0:01 [migration/1]

    root         5  0.0  0.0      0     0 ?        SN   Nov02   0:00 [ksoftirqd/1]

    root         6  0.0  0.0      0     0 ?        S<   Nov02  29:57 [events/0]

    root         7  0.0  0.0      0     0 ?        S<   Nov02   0:00 [events/1]

    root         8  0.0  0.0      0     0 ?        S<   Nov02   0:00 [khelper]

    root        49  0.0  0.0      0     0 ?        S<   Nov02   0:00 [kthread]

    root        54  0.0  0.0      0     0 ?        S<   Nov02   0:00 [kblockd/0]

    root        55  0.0  0.0      0     0 ?        S<   Nov02   0:00 [kblockd/1]

    root        56  0.0  0.0      0     0 ?        S<   Nov02   0:00 [kacpid]

    ……省略部分结果

    说明:

        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:该程序的实际指令

    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:该程序的实际指令


    实例7:列出类似程序树的程序显示

    命令:

    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]

        1     3     1     1 ?           -1 SN       0   0:00 [ksoftirqd/0]

        1     4     1     1 ?           -1 S<       0   0:01 [migration/1]

        1     5     1     1 ?           -1 SN       0   0:00 [ksoftirqd/1]

        1     6     1     1 ?           -1 S<       0  29:58 [events/0]

        1     7     1     1 ?           -1 S<       0   0:00 [events/1]

        1     8     1     1 ?           -1 S<       0   0:00 [khelper]

        1    49     1     1 ?           -1 S<       0   0:00 [kthread]

       49    54     1     1 ?           -1 S<       0   0:00  \_ [kblockd/0]

       49    55     1     1 ?           -1 S<       0   0:00  \_ [kblockd/1]

       49    56     1     1 ?           -1 S<       0   0:00  \_ [kacpid]

    说明:

    实例8:找出与 cron 与 syslog 这两个服务有关的 PID 号码

    命令:

    输出:

    [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)

    [root@localhost test6]#

    说明:

    其他实例:

    1. 可以用 | 管道和 more 连接起来分页查看

    命令:

    ps -aux |more

    2. 把所有进程显示出来,并输出到ps001.txt文件

    命令:

    ps -aux > ps001.txt

    3. 输出指定的字段

    命令:

     ps -o pid,ppid,pgrp,session,tpgid,comm

    输出:

    [root@localhost test6]# ps -o pid,ppid,pgrp,session,tpgid,comm

     PID  PPID  PGRP  SESS TPGID COMMAND

    17398 17394 17398 17398 17478 bash

    17478 17398 17478 17398 17478 ps

    [root@localhost test6]#

    展开全文
  • Linux 中ps命令详解

    万次阅读 多人点赞 2017-05-08 21:06:18
    ps:要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有...

    ps:要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的.
    ps命令最常用的还是用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的,所以如果需要检测其情况,便可以使用ps命令了.
    注意:ps是显示瞬间进程的状态,并不动态连续;如果想对进程进行实时监控应该用top命令。
    这里写图片描述

    通过man ps可以获得ps的详细参数用法。下面可以通过示例看看效果:
    [root@lsbhjshyn ~]# ps aux
    [root@ lsbhjshyn ~]# ps -lA
    [root@ lsbhjshyn ~]# ps axjf
    参数:
    -A :所有的进程均显示出来,与 -e 具有同样的效用;
    -a : 显示现行终端机下的所有进程,包括其他用户的进程;
    -u :以用户为主的进程状态 ;
    x :通常与 a 这个参数一起使用,可列出较完整信息。
    输出格式规划:
    l :较长、较详细的将该 PID 的的信息列出;
    j :工作的格式 (jobs format)
    -f :做一个更为完整的输出。
    特别说明:
    由于 ps 能够支持的系统类型相当的多,所以他的参数多的离谱!
    而且有没有加上 - 差很多!详细的用法应该要参考 man ps 喔!
    例1:将目前属于您自己这次登入的 PID 与相关信息列示出来
    这里写图片描述

    各相关信息的意义为:
    F 代表这个程序的旗标 (flag), 4 代表使用者为 superuser;
    S 代表这个程序的状态 (STAT);
    UID 代表执行者身份
    PID 进程的ID号!底下的 PPID 则父进程的ID;
    C CPU 使用的资源百分比
    PRI指进程的执行优先权(Priority的简写),其值越小越早被执行;
    NI 这个进程的nice值,其表示进程可被执行的优先级的修正数值。
    ADDR 这个是内核函数,指出该程序在内存的那个部分。如果是个执行 的程序,一般就是『 - 』
    SZ 使用掉的内存大小;
    WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作;
    TTY 登入者的终端机位置啰;
    TIME 使用掉的 CPU 时间。
    CMD 所下达的指令名称

    例2:列出目前所有的正在内存当中的程序
    这里写图片描述

    • USER:该进程属于那个使用者账号的?
    • PID :该进程的进程ID号。
    • %CPU:该进程使用掉的 CPU 资源百分比;
    • %MEM:该进程所占用的物理内存百分比;
    • VSZ :该进程使用掉的虚拟内存量 (Kbytes)
    • RSS :该进程占用的固定的内存量 (Kbytes)
    • TTY :该进程是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
    • STAT:该程序目前的状态,主要的状态有:
    R :该程序目前正在运作,或者是可被运作;
    S :该程序目前正在睡眠当中 (可说是 idle 状态啦!),但可被某些讯号(signal) 唤醒。
    T :该程序目前正在侦测或者是停止了;
    Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
    • START:该进程被触发启动的时间;
    • TIME :该进程实际使用 CPU 运作的时间。
    • COMMAND:该程序的实际指令为什么?

    例3:以例一的显示内容,显示出所有的程序
    这里写图片描述

    例4:列出类似程序树的程序显示
    这里写图片描述

    例5:找出与 cron 与 syslog 这两个服务有关的 PID 号码
    这里写图片描述

    展开全文
  • Linux中ps命令详解

    万次阅读 2016-10-06 09:48:45
    linux上进程有5种状态:  1. 运行(正在运行或在运行队列等待)  2. 中断(休眠, 受阻, 在等待某个条件的形成或接受到信号)  3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)  4. 僵死(进程...

    原文地址:http://blog.csdn.net/x_i_y_u_e/article/details/38708481

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

    ps工具标识进程的5种状态码: 

    D 不可中断 uninterruptible sleep (usually IO) 
    R 运行 runnable (on run queue) 
    S 中断 sleeping 
    T 停止 traced or stopped 
    Z 僵死 a defunct (”zombie”) process 

    名称:ps 
    使用权限:所有使用者 
    使用方式:ps [options] [--help] 
    说明:显示瞬间行程 (process) 的动态 
    参数: 

    ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义 
    -A 列出所有的行程 
    -w 显示加宽可以显示较多的资讯 
    -au 显示较详细的资讯 
    -aux 显示所有包含其他使用者的行程 
    au(x) 输出格式 : 
    USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND 
    USER: 进程拥有者 
    PID: pid 
    %CPU: 占用的 CPU 使用率 
    %MEM: 占用的记忆体使用率 
    VSZ: 占用的虚拟记忆体大小 
    RSS: 占用的记忆体大小 
    TTY: 终端的次要装置号码 (minor device number of tty) 
    STAT: 该行程的状态: 
    D: 不可中断的静止 
    R: 正在执行中 
    S: 静止状态 
    T: 暂停执行 
    Z: 不存在但暂时无法消除 
    W: 没有足够的记忆体分页可分配 
    <: 高优先序的行程 
    N: 低优先序的行程 
    L: 有记忆体分页分配并锁在记忆体内 (即时系统或捱A I/O) 
    START: 行程开始时间 
    TIME: 执行的时间 
    COMMAND:所执行的指令 

    范例: 

    ps 
    PID TTY TIME CMD 
    2791 ttyp0 00:00:00 tcsh 
    3092 ttyp0 00:00:00 ps 
    % ps -A 
    PID TTY TIME CMD 
    1 ? 00:00:03 init 
    2 ? 00:00:00 kflushd 
    3 ? 00:00:00 kpiod 
    4 ? 00:00:00 kswapd 
    5 ? 00:00:00 mdrecoveryd 
    ....... 
    % ps -aux 
    USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND 
    root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [3] 
    root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd] 
    root 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod] 
    root 4 0.0 0.0 0 0 ? SW Sep10 0:00 [kswapd] 

    具体命令解释如下: 

      1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。 
      2)ps -A 显示所有程序。 
      3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。 
      4)ps -e 此参数的效果和指定"A"参数相同。  例如:  ps -e|grep sshd
      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 
      显示所有程序,不以终端机来区分。 
      最常用的方法是ps -aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。 


    附:Linux中top与ps区别

    一:ps命令
    以下是 ps 的最简单形式: 

    $ ps
    PID TTY          TIME CMD
    3884 pts/1    00:00:00 bash
    3955 pts/2    00:00:00 more
    3956 pts/5    00:00:05 sqlplus
    •        PID 是进程的标识号。 
    •        TTY 是进程所属的终端控制台。 
    •        TIME 列是进程所使用的总的 CPU 时间。 
    •        CMD 列列出正在执行的命令行。 
    使用带有 -ef 选项的 ps,返回系统中所有用户的所有进程的完整列表。一般将此 ps 命令的结果传送到 grep 中,则该结果更易于查看。例如: 
    
    $  ps -ef | grep Oracle
    
    UID        PID  PPID  C STIME TTY         TIME CMD
    oracle    1633     1  0 13:58 ?00:00:00 ora_pmon_ora1
    oracle    1635     1  0 13:58 ?00:00:00 ora_dbw0_ora1
    oracle    1637     1  0 13:58 ?00:00:01 ora_lgwr_ora1
    oracle    1639     1  0 13:58 ?00:00:02 ora_ckpt_ora1
    oracle    1641     1  0 13:58 ?00:00:02 ora_smon_ora1
    oracle    1643     1  0 13:58 ?00:00:00 ora_reco_ora1
    oracle    1645     1  0 13:58 ?00:00:00 ora_cjq0_ora1
    oracle    1647     1  0 13:58 ?00:01:18 ora_qmn0_ora1
    oracle    1649     1  0 13:58 ?00:00:00 ora_s000_ora1
    oracle    1651     1  0 13:58 ?00:00:00 ora_d000_ora1
    
    -e : 在命令执行后显示环境
      -f : 完整显示输出
    •        标为 C 的列是由 CPU 用于计算执行优先级的因子。 
    •        STIME 是指进程的启动时间。 
    •        问号表示这些进程不属于任何 TTY,因为它们是由系统启动的。 
    


    主要参数说明:

    1) 进程用户ID(UID),
    虽然 uid 通常是指数字型的标识,但在第一列下指定的是用户名,标记为 UID
    2) 进程ID (PID)
    3) 父进程ID (PPID)
    PPID 是父进程的标识号。对于 Oracle 进程,这里的标识号为 1 — 它是 init 进程(所有进程的父进程)的 id,因为在本系统中安装的 Oracle 是作为登录进程的一部分而启动的
    4) CPU 调度情况 (C)
    即是是由 CPU 用于计算执行优先级的因子。
    5) 进程启动的时间 (STIME) 
    6) 进程共占用CPU的时间(TIME) 
    7) 启动进程的命令 (CMD) 
    8)问号表示这些进程不属于任何 TTY,因为它们是由系统启动的。   

    使用PS命令分析系统性能的方法主要有: 
    1) 首先,根据用户ID寻找由同一用户执行的许多相似任务,这些任务很可能是因为用户运行的某个脚本程序在后台启动多个进程而造成的。 
    2) 接下来,检查TIME域中各进程累计占用CPU的时间,如果有某个进程累计占用了大量的CPU时间,通常说明该进程可能陷入了无限循环,或该京城的某写逻辑出了错 
    3) 找到那些已陷入死锁的进程ID后,就可以使用kill命令强制终止该进程了。 

    二:top命令 
    Ps 只为您提供当前进程的快照。要即时查看最活跃的进程,可使用 top。 
    Top 实时地提供进程信息。它还拥有交互式的状态,允许用户输入命令,如 n 后面跟有 5 或 10 等数字。其结果是指示 top 显示 5 或 10 个最活跃的进程。 Top 持续运行,直到您按 "q" 退出 top 为止。 
    Top中的几个隐含参数: 
    top中按1键和F键的参数: 
    按1键可以等到多个cpu的情况 
    按F(f:当前状态,可以按相应的字母键做top的定制输出)后得参数: 
    对F键和f键的区别: 
    如果进入F键区可以做进程显示的排序,如果进入f键区的话则可以选择显示的多个项目: 
    * A: PID        = Process Id                //进程ID          
      b: PPID       = Parent Process Pid        //父进程ID          
      c: RUSER      = Real user name            //真正的(Real)所属用户名称          
      d: UID        = User Id                   //用户ID          
      e: USER       = User Name                 //用户名称          
      f: GROUP      = Group Name             //组名称 
      g: TTY        = Controlling Tty           //控制          
      h: PR         = Priority                  //优先权          
      i: NI         = Nice value                //优先级得值(负数代表较高的优先级,正数是较低的优先级.0标志改优先级的值是不会被调整的)          
      j: #C         = Last used cpu (SMP)       //随后使用的cpu比率          
      k: %CPU       = CPU usage                 //cpu使用比率          
      l: TIME       = CPU Time                  //cpu占用时间          
      m: TIME+      = CPU Time, hundredths     //cpu%比 
      n: %MEM       = Memory usage (RES)        //内存使用率 
      o: VIRT       = Virtual Image (kb)        //虚拟镜像(VIRT = SWAP + RES:所有进程使用的虚拟内存值,包括所有的代码,数据,共享库已经被swapped out的) 
      p: SWAP       = Swapped size (kb)         //交换空间大小(所有虚拟内存中的镜像) 
      q: RES        = Resident size (kb)        //已经使用了的常驻内存(Resident size):RES = CODE + DATA 
      r: CODE       = Code size (kb)            //分配给执行代码的物理内存 
      s: DATA       = Data+Stack size (kb)      //data+stack:物理内存中非存放代码的空间,用于存放数据 
      t: SHR        = Shared Mem size (kb)      //共享内存大小.放映了一个task的潜在可以供别人使用的内存的大小 
      u: nFLT       = Page Fault count          //内存页错误的数量 
      v: nDRT       = Dirty Pages count         //脏页的数量 
      w: S          = Process Status            //进程状态:( R )为运行或可执行的,( S )为该程序正在睡眠中,( T )正在侦测或者是停止了,( Z )僵尸程序 
      x: COMMAND    = Command name/line         //进程启动命令行参数 
      y: WCHAN      = Sleeping in Function      //在睡眠中 
      z: Flags      = Task Flags <sched.h>      //任务标志 
    Note1: 
    If a selected sort field can't be  shown due to screen width or your  field order, the '<' and '>' keys    
    will be unavailable until a field  within viewable range is chosen.      
                                                  
    Note2:                                        
    Field sorting uses internal values,  not those in column display.  Thus,  the TTY & WCHAN fields will violate  strict ASCII collating sequence.   (shame on you if WCHAN is chosen)    
                                                  
    Current Fields:  AEHIOQTWKNMbcdfgjplrsuvyzX  for window 1:Def 
    Toggle fields via field letter, type any other key to return 
    * A: PID        = Process Id 
    * E: USER       = User Name 
    * H: PR         = Priority 
    * I: NI         = Nice value 
    * O: VIRT       = Virtual Image (kb) 
    * Q: RES        = Resident size (kb) 
    * T: SHR        = Shared Mem size (kb) 
    * W: S          = Process Status 
    * K: %CPU       = CPU usage 
    * N: %MEM       = Memory usage (RES) 
    * M: TIME+      = CPU Time, hundredths 
      b: PPID       = Parent Process Pid 
      c: RUSER      = Real user name 
      d: UID        = User Id 
      f: GROUP      = Group Name 
      g: TTY        = Controlling Tty 
      j: #C         = Last used cpu (SMP) 
      p: SWAP       = Swapped size (kb) 
      l: TIME       = CPU Time 
      r: CODE       = Code size (kb) 
      s: DATA       = Data+Stack size (kb) 
      u: nFLT       = Page Fault count 
      v: nDRT       = Dirty Pages count 
      y: WCHAN      = Sleeping in Function 
      z: Flags      = Task Flags <sched.h> 
    * X: COMMAND    = Command name/line 
    
    Flags field: 
      0x00000001  PF_ALIGNWARN 
      0x00000002  PF_STARTING 
      0x00000004  PF_EXITING 
      0x00000040  PF_FORKNOEXEC 
      0x00000100  PF_SUPERPRIV 
      0x00000200  PF_DUMPCORE 
      0x00000400  PF_SIGNALED 
      0x00000800  PF_MEMALLOC 
      0x00002000  PF_FREE_PAGES (2.5) 
      0x00008000  debug flag (2.5) 
      0x00024000  special threads (2.5) 
      0x001D0000  special states (2.5) 
      0x00100000  PF_USEDFPU (thru 2.4)

    展开全文
  • linux中PS命令使用详解

    万次阅读 2006-06-22 11:14:00
    名称:ps 使用权限:所有使用者 使用方式:ps [options] [--help] 说明:显示瞬间行程 (process) 的动态 参数: ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义 -A 列出所有的行程 -w 显示加宽可以显示较...
    名称:ps 
    
    使用权限:所有使用者
    使用方式:ps [options] [--help]
    说明:显示瞬间行程 (process) 的动态
    参数:
    ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
    -A 列出所有的行程
    -w 显示加宽可以显示较多的资讯
    -au 显示较详细的资讯
    -aux 显示所有包含其他使用者的行程

    au(x) 输出格式 :

    USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
    USER: 行程拥有者
    PID: pid
    %CPU: 占用的 CPU 使用率
    %MEM: 占用的记忆体使用率
    VSZ: 占用的虚拟记忆体大小
    RSS: 占用的记忆体大小
    TTY: 终端的次要装置号码 (minor device number of tty)
    STAT: 该行程的状态:
    D: 不可中断的静止 (通悸□□缜b进行 I/O 动作)
    R: 正在执行中
    S: 静止状态
    T: 暂停执行
    Z: 不存在但暂时无法消除
    W: 没有足够的记忆体分页可分配
    <: 高优先序的行程
    N: 低优先序的行程
    L: 有记忆体分页分配并锁在记忆体内 (即时系统或捱A I/O)
    START: 行程开始时间
    TIME: 执行的时间
    COMMAND:所执行的指令

    范例:

    ps
    PID TTY TIME CMD
    2791 ttyp0 00:00:00 tcsh
    3092 ttyp0 00:00:00 ps
    % ps -A
    PID TTY TIME CMD
    1 ? 00:00:03 init
    2 ? 00:00:00 kflushd
    3 ? 00:00:00 kpiod
    4 ? 00:00:00 kswapd
    5 ? 00:00:00 mdrecoveryd
    .......
    % ps -aux
    USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
    root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [3]
    root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd]
    root 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod]
    root 4 0.0 0.0 0 0 ? SW Sep10 0:00 [kswapd]
    ........
    展开全文
  • Linux中top命令参数详解

    万次阅读 多人点赞 2019-07-31 19:28:22
    top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统各个进程的资源占用情况。 top的使用方式 top [-d number] | top [-bnp] 参数解释: -d:number代表秒数,表示top命令显示的页面...
  • Linuxps命令

    千次阅读 2019-05-07 09:29:16
    文章目录进程的查看ps命令参数仅查看自己的bash的相关进程查看系统所有进程 进程的查看 ps命令 ps命令能将某个时间点的进程运行情况选取下来。 参数 -A:所有的进程均显示出来 -a:不与terminal有关的所有进程 -u:...
  • linux缺少ps命令

    千次阅读 2019-09-16 14:16:36
    1.缺少ps命令 apt-get/yum -y install procps 2.缺少pstree命令 apt-get/yum -y install psmisc
  • Linux ps命令

    千次阅读 2019-05-13 17:10:52
    PS,是Linux系统命令之一,是在Linux中是查看进程的命令ps查看正处于Running的进程,ps aux查看所有的进程。 ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该...
  • linux ps 查看进程命令

    万次阅读 2015-02-28 23:26:21
    linux 中ps命令是Process Status的缩写。ps命令可以列出系统当前运行的进程,所列出的进程是在执行ps命令这个时刻正在运行的进程。 如果要动态显示进程信息,需要使用top命令。通过ps命令,可以确定哪些进程正在...
  • LINUX使用ps命令获取对应PID

    万次阅读 2016-09-17 21:41:47
    1、PS命令描述Linux中ps命令是Process Status的缩写。ps命令用来列出系统当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用...
  • Linux 中ps 和 top命令详解

    万次阅读 2017-07-30 09:29:32
    Linux top和ps命令
  • linuxps命令详解

    千次阅读 2018-07-29 08:41:20
    linux上进程有5种状态:&amp;nbsp;1. 运行(正在运行或在运行队列等待) 2. 中断(休眠, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 4. 僵死...
  • linux ps命令源码

    热门讨论 2009-04-22 10:36:44
    linux ps命令的源码;其实就是遍历/proc目录;供参考。
  • Linux操作系统中ps命令常见用法

    千次阅读 2018-07-16 09:22:48
    本文主要介绍 Linux 操作系统 ps 命令的常见用法。 1 概述 ps 命令的作用:report a snapshot of the current processes. 2 常见用法 2.1 常用选项 -e:Select all processes. Identical to -A. -f:does ...
  • linux ps 命令使用

    千次阅读 2015-06-02 09:45:50
    Linux中ps命令是Process Status的缩写。ps命令用来列出系统当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。...
  • linux中ps命令常用参数-个人

    千次阅读 2018-11-22 11:32:52
    ps命令能够给出当前系统进程的快照。它能捕获系统在某一时间的进程状态。如果想要不断更新查看这个状态,可以配合watch命令或使用top命令 ps命令支持三种语法格式: Unix风格的参数,前面加单破折线 BSD风格的...
  • linux常用命令 ps 常用命令的使用

    千次阅读 2018-08-28 08:24:13
    linux常用命令 ps命令的使用
  • ps命令只看到的是命令执行瞬间的进程信息,而top可以持续的监视。 ps只是查看进程,而top还可以监视系统性能,如平均负载,cpu和内存的消耗。 另外top还可以操作进程,如改变优先级(命令r)和关闭进程(命令k) ps主要是...
  • Linux中ps -ef , ps -aux命令的用法

    千次阅读 2018-02-08 14:08:57
    Linux中ps -ef , ps -aux命令的用法 ## 主要是显示当前运行进程的。顺便解释一下Linux进程: linux上进程有5种状态: 运行(正在运行或在运行队列等待) 中断(休眠, 受阻, 在等待某个条件的形成或接受到...
  • Linuxps命令详解

    千次阅读 2016-02-17 14:28:26
    有时候系统管理员可能只关心现在系统运行着哪些程序,而不想知道有哪些进程在运行。由于一个应用程序可能需要启动多个进程。所以在同等情况下,进程的数 量要比...要实现这个需求的话,就需要利用命令ps来帮忙。 要
  • Linux : ps命令详解与使用

    千次阅读 2018-11-14 18:55:06
    Linux下的ps命令比较常用,用来显示当前环境正在运行的进程信息,从而对进程进行监测和控制。使用该命令可以确定进程的状态,是否结束,有没有僵尸进程和进程占用的资源信息等。但是ps是显示进程的瞬间信息,并不...
  • Linux ps命令详细参数

    万次阅读 2018-06-23 10:49:10
    ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps...
  • Linux中ps -ef 命令详解

    千次阅读 2020-04-30 14:10:10
    ps -ef的意思是以长格式显示所有...ps命令就是最根本相应情况下也是相当强大地进程查看命令 grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular E...
  • linux命令ps

    千次阅读 2020-08-30 21:47:29
    工作经常用到ps -ef 和ps -aux ,下面看一下对应选项是啥意思。 a 显示所有用户的所有进程(包括其它用户) u 按用户名和启动时间的顺序来显示进程 x 显示无控制终端的进程 -e 显示所有进程,环境变量 -f...
  • 对于ps命令有一定的介绍,为了加强自己的理解,所以我在自己的虚拟机上进行了实验,发现输出的和书上讲的不一样,可能是我理解的错了?以下就展开对此的讨论。 在讨论之前,我们先了解以下ps命令的用法。 一...
  • 首先:ps -ef的意思是以长格式显示所有进程...ps命令就是最根本相应情况下也是相当强大地进程查看命令 grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regu

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 309,804
精华内容 123,921
关键字:

linux中ps命令

linux 订阅