精华内容
下载资源
问答
  • linux kernel module简单模拟ps指令,简单说明: http://blog.csdn.net/qq123386926
  • AMK PS指令说明

    2016-11-08 23:04:29
    AMK PS4指令集说明
  • Linux中的ps指令详解

    千次阅读 2018-12-16 14:38:06
    【题目】Linux中的ps指令详解 转载地址:https://www.cnblogs.com/exe19/p/5511733.html 概述  要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常...

    【时间】2018.12.16

    【题目】Linux中的ps指令详解

    转载地址:https://www.cnblogs.com/exe19/p/5511733.html

    概述

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

        ps命令最常用的还是用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的,所以如果需要检测其情况,便可以使用ps命令了.

        注意:ps是显示瞬间进程的状态,并不动态连续;如果想对进程进行实时监控应该用top命令。

    一、通过man获取ps指令的详细参数用法

    通过man ps可以获得ps的详细参数用法,如下:

    [root@lsbhjshyn ~]# man 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 与相关信息列示出来(ps -l)

    # 各相关信息的意义为:

    # 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:列出目前所有的正在内存当中的程序(ps aux)

    • 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:以例一的显示内容,显示出所有的程序(ps -lA)

    4:列出类似程序树的程序显示(ps -axjf)

     

     

     

    展开全文
  • linux ps指令学习使用简单方法

    千次阅读 2017-01-05 12:29:00
    在linux中,ps指令是一个常用而且很复杂的指令,因为参数和组合非常的多,甚至加不加-又会出现很多情况。 希望完全通过记忆掌握ps指令是比较困难的,好在linux为我们提供了很好的提示。 当我们输入错误信息的时候,...

    在linux中,ps指令是一个常用而且很复杂的指令,因为参数和组合非常的多,甚至加不加-又会出现很多情况。

    希望完全通过记忆掌握ps指令是比较困难的,好在linux为我们提供了很好的提示。

    当我们输入错误信息的时候,linux会提供一下信息:

    ********* simple selection *********  ********* selection by list *********
    -A all processes                      -C by command name
    -N negate selection                   -G by real group ID (supports names)
    -a all w/ tty except session leaders  -U by real user ID (supports names)
    -d all except session leaders         -g by session OR by effective group name
    -e all processes                      -p by process ID
                                          -q by process ID (unsorted & quick)
    T  all processes on this terminal     -s processes in the sessions given
    a  all w/ tty, including other users  -t by tty
    g  OBSOLETE -- DO NOT USE             -u by effective user ID (supports names)
    r  only running processes             U  processes for specified users
    x  processes w/o controlling ttys     t  by tty
    *********** output format **********  *********** long options ***********
    -o,o user-defined  -f full            --Group --User --pid --cols --ppid
    -j,j job control   s  signal          --group --user --sid --rows --info
    -O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
    -l,l long          u  user-oriented   --sort --tty --forest --version
    -F   extra full    X  registers       --heading --no-heading --context
                                          --quick-pid
                        ********* misc options *********
    -V,V  show version      L  list format codes  f  ASCII art forest
    -m,m,-L,-T,H  threads   S  children in sum    -y change -l format
    -M,Z  security data     c  true command name  -c scheduling class
    -w,w  wide output       n  numeric WCHAN,UID  -H process hierarchy


    稍加理解,我们便可以很容易的对其进行组合。

    举几个常见的例子我们分析一下使用规则:

    ps aux  

    其中a 属于simple selection区域,顾名思义是决定选择范围的,功能是显示所有用户的属于tty的进程。u属于output format控制的是输出的格式,u的作用是以用户为主进行显示。x与a属于同一个区域,会显示不属于任何tty的进程,与a组合可以显示更多。

    ps axjf 

    ax我们已经做了解释,j属于格式区域,用工作模式显示,f属于misc options区域,功能是树状显示,这里要注意f 与 -f属于不同的区域功能也不同。ps f与ps -f有很大的区别,如果想要使用-f与axj组合  则指令为 ps axj -f  事实上这边会与j冲突,经尝试,output format区域参数一般只能使用一个。

    以上指令中,我们已经使用了三种类型的参数

    还有一个selection by list区域中的参数,以-U为例,我们使用ps -U 1,500即可选择uid为1或者500的进程。同样可以与其他指令组合  例如 ps axjf -u 500是有效的.

    long optionszhong 中的参数有些是其他区域参数的全称,也有一些特有的 同样可以组合使用例如:ps -aux --sort -pcpu根据CPU使用排序


    根据尝试及分析,可以基本得到以下使用规则:

    1、使用simple selection区域的一个或多个参数,决定显示进程的范围。(注意有部分参数之间会冲突)

    2、使用selection by list区域中的一个或多个参数,对进程进行限制筛选,如果使用了多个。

    (重点:以上两类参数组合使用的时候,使用的是“或”的逻辑。)

    3、使用output format参数控制输出的内容和格式,一般一次只能使用一个。

    4、使用long options中的参数进行排序等操作。

    5、使用misc options中的参数对显示样式进行调整,例如树状显示等。

    展开全文
  • linux Kernel module简单模拟ps指令输出,简单说明: http://blog.csdn.net/qq123386926/article/details/50543038
  • Linux学习-ps aux指令

    千次阅读 2015-08-02 22:37:43
    下面主要介绍下ps指令。linux进程状态在Linux中,进程存在5中状态 运行状态(正在运行或在运行队列中等待) 中断状态(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 不可中断(收到信号不唤醒和不可运行, 进程必须...

    如果直接用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);
    + 位于后台的进程组;

    展开全文
  • UNIX再学习 -- ps、top、kill 指令

    千次阅读 2017-04-18 11:04:15
    一、进程标识每个进程都有一个非负整型的唯一进程 ...1、ps 指令其中,ps指令是我们使用最多的指令了。下面来详细介绍下它。参看:ps 指令(1)ps 功能ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删

    1、ps 指令

    其中,ps指令是我们使用最多的指令了。下面来详细介绍下它。

    参看:ps 指令

    参看:10个重要的Linux ps命令实战

    (1)ps 功能

    ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。

    (2)选项

    -a:显示所有终端机下执行的程序,除了阶段作业领导者之外。 
    a:显示现行终端机下的所有程序,包括其他用户的程序。 
    -A:显示所有程序。 
    -c:显示CLS和PRI栏位。 
    c:列出程序时,显示每个程序真正的指令名称,而不包含路径,选项或常驻服务的标示。 
    -C<指令名称>:指定执行指令的名称,并列出该指令的程序的状况。 
    -d:显示所有程序,但不包括阶段作业领导者的程序。 
    -e:此选项的效果和指定"A"选项相同。 
    e:列出程序时,显示每个程序所使用的环境变量。 
    -f:显示UID,PPIP,C与STIME栏位。 
    f:用ASCII字符显示树状结构,表达程序间的相互关系。 
    -g<群组名称>:此选项的效果和指定"-G"选项相同,当亦能使用阶段作业领导者的名称来指定。 
    g:显示现行终端机下的所有程序,包括群组领导者的程序。 
    -G<群组识别码>:列出属于该群组的程序的状况,也可使用群组名称来指定。 
    h:不显示标题列。 -H:显示树状结构,表示程序间的相互关系。 
    -j或j:采用工作控制的格式显示程序状况。 
    -l或l:采用详细的格式来显示程序状况。 
    L:列出栏位的相关信息。 
    -m或m:显示所有的执行绪。 
    n:以数字来表示USER和WCHAN栏位。 
    -N:显示所有的程序,除了执行ps指令终端机下的程序之外。 
    -p<程序识别码>:指定程序识别码,并列出该程序的状况。 
    p<程序识别码>:此选项的效果和指定"-p"选项相同,只在列表格式方面稍有差异。 
    r:只列出现行终端机正在执行中的程序。 -
    s<阶段作业>:指定阶段作业的程序识别码,并列出隶属该阶段作业的程序的状况。 
    s:采用程序信号的格式显示程序状况。 
    S:列出程序时,包括已中断的子程序资料。 
    -t<终端机编号>:指定终端机编号,并列出属于该终端机的程序的状况。 
    t<终端机编号>:此选项的效果和指定"-t"选项相同,只在列表格式方面稍有差异。 
    -T:显示现行终端机下的所有程序。 
    -u<用户识别码>:此选项的效果和指定"-U"选项相同。 
    u:以用户为主的格式来显示程序状况。 
    -U<用户识别码>:列出属于该用户的程序的状况,也可使用用户名称来指定。 
    U<用户名称>:列出属于该用户的程序的状况。 
    v:采用虚拟内存的格式显示程序状况。 
    -V或V:显示版本信息。 
    -w或w:采用宽阔的格式来显示程序状况。  
    x:显示所有程序,不以终端机来区分。 
    X:采用旧式的Linux i386登陆格式显示程序状况。 
    -y:配合选项"-l"使用时,不显示F(flag)栏位,并以RSS栏位取代ADDR栏位 。 
    -<程序识别码>:此选项的效果和指定"p"选项相同。 
    --cols<每列字符数>:设置每列的最大字符数。 
    --columns<每列字符数>:此选项的效果和指定"--cols"选项相同。 
    --cumulative:此选项的效果和指定"S"选项相同。 
    --deselect:此选项的效果和指定"-N"选项相同。 
    --forest:此选项的效果和指定"f"选项相同。 
    --headers:重复显示标题列。 
    --help:在线帮助。 
    --info:显示排错信息。 
    --lines<显示列数>:设置显示画面的列数。 
    --no-headers:此选项的效果和指定"h"选项相同,只在列表格式方面稍有差异。 
    --group<群组名称>:此选项的效果和指定"-G"选项相同。 
    --Group<群组识别码>:此选项的效果和指定"-G"选项相同。 
    --pid<程序识别码>:此选项的效果和指定"-p"选项相同。 
    --rows<显示列数>:此选项的效果和指定"--lines"选项相同。 
    --sid<阶段作业>:此选项的效果和指定"-s"选项相同。 
    --tty<终端机编号>:此选项的效果和指定"-t"选项相同。 
    --user<用户名称>:此选项的效果和指定"-U"选项相同。 
    --User<用户识别码>:此选项的效果和指定"-U"选项相同。 
    --version:此选项的效果和指定"-V"选项相同。 
    --widty<每列字符数>:此选项的效果和指定"-cols"选项相同。

    (3)常用选项

    1》使用 ps aux 或者ps lax 查看当前在系统中运行的进程快照。

    a   显示所有进程
    u   指定用户的所有进程
    x   显示所有进程,不以终端机来区分。 
    l    采用详细的格式来显示程序状况。
    # ps aux
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root         1  0.6  0.1   3604  2032 ?        Ss   10:18   0:01 /sbin/init
    root         2  0.0  0.0      0     0 ?        S    10:18   0:00 [kthreadd]
    root         3  0.0  0.0      0     0 ?        S    10:18   0:00 [ksoftirqd/0]
    root         4  0.0  0.0      0     0 ?        S    10:18   0:00 [kworker/0:0]
    root         5  0.2  0.0      0     0 ?        S    10:18   0:00 [kworker/u:0]
    root         6  0.0  0.0      0     0 ?        S    10:18   0:00 [migration/0]
    root         7  0.3  0.0      0     0 ?        S    10:18   0:00 [watchdog/0]
    root         8  0.0  0.0      0     0 ?        S<   10:18   0:00 [cpuset]
    .....
    # ps lax
    F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
    4     0     1     0  20   0   3604  2032 poll_s Ss   ?          0:01 /sbin/init
    1     0     2     0  20   0      0     0 kthrea S    ?          0:00 [kthreadd]
    1     0     3     2  20   0      0     0 run_ks S    ?          0:00 [ksoftirqd/0]
    5     0     5     2  20   0      0     0 worker S    ?          0:00 [kworker/u:0]
    1     0     6     2 -100  -      0     0 cpu_st S    ?          0:00 [migration/0]
    5     0     7     2 -100  -      0     0 watchd S    ?          0:00 [watchdog/0]
    1     0     8     2   0 -20      0     0 rescue S<   ?          0:00 [cpuset]
    1     0     9     2   0 -20      0     0 rescue S<   ?          0:00 [khelper]
    其中各列含义如下:

    USER    用户名
    UID       用户ID(User ID)
    PID       进程ID(Process ID)
    PPID     父进程的进程ID(Parent Process id)
    SID       会话ID(Session id)
    %CPU    进程的cpu占用率
    %MEM    进程的内存占用率
    VSZ          进程所使用的虚存的大小(Virtual Size)
    RSS          进程使用的驻留集大小或者是实际内存的大小,Kbytes字节。
    TTY         与进程关联的终端(tty)
    STAT       进程的状态:进程状态使用字符表示的(STAT的状态码)
    R 运行     Runnable (on run queue)            正在运行或在运行队列中等待。
    S 睡眠     Sleeping                休眠中, 受阻, 在等待某个条件的形成或接受到信号。
    I 空闲      Idle
    Z 僵死    Zombie(a defunct process)        进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放。
    D     不可中断    Uninterruptible sleep (ususally IO)    收到信号不唤醒和不可运行, 进程必须等待直到有中断发生。
    T     终止    Terminate                进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行。
    P     等待交换页
    W    无驻留页    has no resident pages        没有足够的记忆体分页可分配。
    X     死掉的进程
    <     高优先级进程                    高优先序的进程
    N    低优先    级进程                    低优先序的进程
    L     内存锁页    Lock                有记忆体分页分配并缩在记忆体内
    s     进程的领导者(在它之下有子进程);
    l     多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads)
    +     位于后台的进程组 
    START    进程启动时间和日期
    TIME    进程使用的总cpu时间
    COMMAND    正在执行的命令行命令
    NI     优先级(Nice)
    PRI    进程优先级编号(Priority)
    WCHAN    进程正在睡眠的内核函数名称;该函数的名称是从/root/system.map文件中获得的。
    FLAGS    与进程相关的数字标识

    更详细内容,自行 man ps 查看

    扩展:

    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 

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

    命令:ps aux | more  表示将 ps -aux 的结果进行分屏显示
    按 回车键 向下查看,按 Q 退出
    # ps aux | more
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root         1  0.0  0.1   3604  2032 ?        Ss   10:18   0:01 /sbin/init
    root         2  0.0  0.0      0     0 ?        S    10:18   0:00 [kthreadd]
    root         3  0.0  0.0      0     0 ?        S    10:18   0:00 [ksoftirqd/0]
    root         5  0.0  0.0      0     0 ?        S    10:18   0:00 [kworker/u:0]
    root         6  0.0  0.0      0     0 ?        S    10:18   0:00 [migration/0]
    root         7  0.0  0.0      0     0 ?        S    10:18   0:01 [watchdog/0]
    root         8  0.0  0.0      0     0 ?        S<   10:18   0:00 [cpuset]
    .....
    -More

    3》命令 ps -ef  

    ps -ef 表示以全格式的方式显示当前所有的进程
    ps -ef | more 分屏显示命令的执行结果
    # ps -ef
    UID        PID  PPID  C STIME TTY          TIME CMD
    root         1     0  0 10:18 ?        00:00:01 /sbin/init
    root         2     0  0 10:18 ?        00:00:00 [kthreadd]
    root         3     2  0 10:18 ?        00:00:00 [ksoftirqd/0]
    root         5     2  0 10:18 ?        00:00:00 [kworker/u:0]
    root         6     2  0 10:18 ?        00:00:00 [migration/0]
    root         7     2  0 10:18 ?        00:00:01 [watchdog/0]
    root         8     2  0 10:18 ?        00:00:00 [cpuset]
    root         9     2  0 10:18 ?        00:00:00 [khelper]
    root        10     2  0 10:18 ?        00:00:00 [kdevtmpfs]
    root        11     2  0 10:18 ?        00:00:00 [netns]
    root        12     2  0 10:18 ?        00:00:00 [sync_supers]

    4》ps 与 | 管道 和 grep 常用组合用法,查找特定进程

    比如,命令 ps aux | grep colord 
    # ps aux | grep colord
    colord    1957  0.0  1.0  53628 10568 ?        Sl   10:19   0:00 /usr/lib/i386-linux-gnu/colord/colord
    root      2623  0.0  0.0   5812   864 pts/0    D+   10:57   0:00 grep --color=auto colord

    5》ps 可以结合less命令和管道来使用,方便阅览

    按 回车键 向下查看,按 Q 退出
    # ps aux | less
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root         1  0.0  0.1   3604  2032 ?        Ss   10:18   0:01 /sbin/init
    root         2  0.0  0.0      0     0 ?        S    10:18   0:00 [kthreadd]
    root         3  0.0  0.0      0     0 ?        S    10:18   0:00 [ksoftirqd/0]
    root         5  0.0  0.0      0     0 ?        S    10:18   0:00 [kworker/u:0]
    root         6  0.0  0.0      0     0 ?        S    10:18   0:00 [migration/0]
    root         7  0.0  0.0      0     0 ?        S    10:18   0:01 [watchdog/0]
    :

    2、top 指令

    参看:top 指令

    (1)top 功能

    top 命令 可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。
    通过top命令所提供的互动式界面,用热键可以管理。

    (2)选项

    -b:以批处理模式操作; 
    -c:显示完整的治命令; 
    -d:屏幕刷新间隔时间; 
    -I:忽略失效过程; 
    -s:保密模式; 
    -S:累积模式; 
    -i<时间>:设置间隔时间; 
    -u<用户名>:指定用户名; 
    -p<进程号>:指定进程; 
    -n<次数>:循环显示的次数。
    

    (3)top 交互指令

    在top命令执行过程中可以使用的一些交互命令。这些命令都是单字母的,如果在命令行中使用了-s选项, 其中一些命令可能会被屏蔽。
    h:显示帮助画面,给出一些简短的命令总结说明; 
    k:终止一个进程; 
    i:忽略闲置和僵死进程,这是一个开关式命令; 
    q:退出程序; 
    r:重新安排一个进程的优先级别; 
    S:切换到累计模式; 
    s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s; 
    f或者F:从当前显示中添加或者删除项目; 
    o或者O:改变显示项目的顺序; 
    l:切换显示平均负载和启动时间信息; 
    m:切换显示内存信息; 
    t:切换显示进程和CPU状态信息; 
    c:切换显示命令名称和完整命令行; 
    M:根据驻留内存大小进行排序; 
    P:根据CPU使用百分比大小进行排序; 
    T:根据时间/累计时间进行排序; 
    w:将当前设置写入~/.toprc文件中。
    

    (4)示例


    (5)统计信息

    参看:PS与TOP详解
    统计信息区前五行是系统整体的统计信息。 

    1》第一行是任务队列信息,同 uptime 命令的执行结果。其内容如下:  

    02:44:02                      当前时间  
    up 21 days  ,2:12       开机到目前为止所经过的时间   
    3 users                        当前登录用户数  
    0.56, 0.23, 0.32          系统负载,即任务队列的平均长度。三个数值分别为1分钟、5分钟、15分钟前到现在的平均值。 

    2》第二行为进程信息,内容如下:  

    Tasks:  113 total       进程总数  
    1 running                  正在运行的进程数  
    112sleeping              睡眠的进程数   
    0 stopped                 停止的进程数  
    0 zombie                   僵尸进程数 

    3》第三行为CPU信息,当有多个CPU时,这些内容可能会超过两行。内容如下:   

    Cpu(s): 
    0.0%us                      用户空间占用CPU百分比   
    0.0% sy                     内核空间占用CPU百分比  
    0.0% ni                      用户进程空间内改变过优先级的进程占用CPU百分比  
    0.0% id                      空闲CPU百分比  
    0.0% wa                     等待输入输出(IO)的CPU时间百分比  
    0.0% hi                      cpu处理硬件中断的时间;   
    0.0% si                      cpu处理软中断的时间;  

    4》第四行为内存信息,内容如下:  

    Mem: 1034872k total          物理内存总量  
    974264k used                      使用的物理内存总量   
    60608k free                          空闲内存总量  
    226140k buffers                  用作内核缓存的内存量  

    5》第五行为SWAP信息  

    Swap: 1534072k total        交换区总量  
    0used                                   使用的虚拟内存总量   
    1534072k free                    空闲交换区总量   
    548268k cached                 缓冲的交换区总量。 

    6》第六行往后是进程列表,常见的这几列的意义分别为:   

    PID(进程号), USER(运行用户),PR(优先级),NI(任务nice值),VIRT(虚拟内存用量),RES(物理内存用量), SHR(共享内存用量),S(进程状态),%CPU(CPU占用比),%MEM(内存占用比),TIME+(累计CPU占用时间)。 

    7》常用交互指令

    除了这些信息之外,top还提供了很多命令能帮我们更好的解读这些信息,例如:
    按”M”键可以按内存用量进行排序; 
    按”P”可以按CPU使用量进行排序,这样一来对于分析系统瓶颈很有帮助;此外,
    按“f”可以进入交互页面,选择指定的列显示; 
    按”r”可以改变一个进程的nice值;
    按”k”可以向一个进程发信号;  
    按”z”可以使用彩色显示。进程信息区统计信息区域的下方显示了各个进程的详细信息。

    8》首先来认识一下各列的含义。   

    序号    列名    含义   
    a    PID       进程id   
    b    PPID      父进程id  
    c    RUSER     Real user name  
    d    UID       进程所有者的用户id  
    e    USER      进程所有者的用户名  
    f    GROUP     进程所有者的组名  
    g    TTY       启动进程的终端名。不是从终端启动的进程则显示为 ? 
    h    PR        优先级  
    i    NI        nice值。负值表示高优先级,正值表示低优先级   
    j    P         最后使用的CPU,仅在多CPU环境下有意义 
    k    %CPU     上次更新到现在的CPU时间占用百分比   
    l    TIME     进程使用的CPU时间总计,单位秒  
    m    TIME+    进程使用的CPU时间总计,单位1/100秒   
    n    %MEM     进程使用的物理内存百分比  
    o    VIRT     进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES   
    p    SWAP     进程使用的虚拟内存中,被换出的大小,单位kb。  
    q    RES      进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA   
    r    CODE     可执行代码占用的物理内存大小,单位kb  
    s    DATA     可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb  
    t    SHR      共享内存大小,单位kb   
    u    nFLT     页面错误次数  
    v    nDRT     最后一次写入到现在,被修改过的页面数。  
    w    S        进程状态。  
    x    COMMAND  命令名/命令行  
    y    WCHAN    若该进程在睡眠,则显示睡眠中的系统函数名   
    z    Flags    任务标志,参考 sched.h               
    D=不可中断的睡眠状态               
    R=运行               
    S=睡眠  
    T=跟踪/停止               
    Z=僵尸进程  

    默认情况下仅显示比较重要的  PID、USER、PR、NI、VIRT、RES、SHR、S、%  CPU、%MEM、TIME+、COMMAND  列。可以通过下面的快捷键来更改显示内容。  
    更改显示内容通过 f 键可以选择显示的内容按 f 键之后会显示列的列表,按 a-z  即可显示或隐藏对应的列,最后按回车键确定。 

    3、kill 指令

    (1)功能

    kill命令用来删除执行中的程序或工作。kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或job指令查看。

    (2)选项

    -a:当处理当前进程时,不限制命令名和进程号的对应关系; 
    -l <信息编号>:若不加<信息编号>选项,则-l参数会列出全部的信息名称; 
    -p:指定kill 命令只打印相关进程的进程号,而不发送任何信号; 
    -s <信息名称或编号>:指定要送出的信息; 
    -u:指定用户。
    

    (3)示例

    1》信号部分再重点讲解,现在先做了解。

    # kill -l
     1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
     6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
    11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
    16) SIGSTKFLT	17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) SIGTSTP
    21) SIGTTIN	22) SIGTTOU	23) SIGURG	24) SIGXCPU	25) SIGXFSZ
    26) SIGVTALRM	27) SIGPROF	28) SIGWINCH	29) SIGIO	30) SIGPWR
    31) SIGSYS	34) SIGRTMIN	35) SIGRTMIN+1	36) SIGRTMIN+2	37) SIGRTMIN+3
    38) SIGRTMIN+4	39) SIGRTMIN+5	40) SIGRTMIN+6	41) SIGRTMIN+7	42) SIGRTMIN+8
    43) SIGRTMIN+9	44) SIGRTMIN+10	45) SIGRTMIN+11	46) SIGRTMIN+12	47) SIGRTMIN+13
    48) SIGRTMIN+14	49) SIGRTMIN+15	50) SIGRTMAX-14	51) SIGRTMAX-13	52) SIGRTMAX-12
    53) SIGRTMAX-11	54) SIGRTMAX-10	55) SIGRTMAX-9	56) SIGRTMAX-8	57) SIGRTMAX-7
    58) SIGRTMAX-6	59) SIGRTMAX-5	60) SIGRTMAX-4	61) SIGRTMAX-3	62) SIGRTMAX-2
    63) SIGRTMAX-1	64) SIGRTMAX	
    
    只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略,下面是常用的信号:
    HUP 1 终端断线 INT 2 中断(同 Ctrl + C) 
    QUIT 3 退出(同 Ctrl + \) 
    TERM 15 终止 
    KILL 9 强制终止 
    CONT 18 继续(与STOP相反, fg/bg命令) 
    STOP 19 暂停(同 Ctrl + Z)

    2》得到指定信号的数值

    [root@localhost test6]# kill -l KILL
    9[root@localhost test6]# kill -l SIGKILL
    9[root@localhost test6]# kill -l TERM
    15[root@localhost test6]# kill -l SIGTERM

    3》常用方法:先用ps查找进程,然后用kill杀掉

    命令:kill 3268
    [root@localhost test6]# ps -ef|grep vim 
    root      3268  2884  0 16:21 pts/1    00:00:00 vim install.log
    root      3370  2822  0 16:21 pts/0    00:00:00 grep vim
    [root@localhost test6]# kill 3268 
    [root@localhost test6]# kill 3268 
    -bash: kill: (3268) - 没有那个进程

    4》彻底杀死进程

    命令:kill –9 3268 
    [root@localhost test6]# ps -ef|grep vim 
    root      3268  2884  0 16:21 pts/1    00:00:00 vim install.log
    root      3370  2822  0 16:21 pts/0    00:00:00 grep vim
    [root@localhost test6]# kill –9 3268 
    [root@localhost test6]# kill 3268 
    -bash: kill: (3268) - 没有那个进程

    5》杀死指定用户所有进程

    命令:
    kill -9 $(ps -ef | grep peidalinux)
    kill -u peidalinux
    [root@localhost ~]# kill -9 $(ps -ef | grep peidalinux) 
    [root@localhost ~]# kill -u peidalinux
    说明:
    方法一,过滤出hnlinux用户进程并杀死

    6》init 进程是不可杀的

    命令:kill -9 1
    [root@localhost ~]# ps -ef|grep init
    root         1     0  0 Nov02 ?        00:00:00 init [3]                  
    root     17563 17534  0 17:37 pts/1    00:00:00 grep init
    [root@localhost ~]# kill -9 1
    [root@localhost ~]# kill -HUP 1
    [root@localhost ~]# ps -ef|grep init
    root         1     0  0 Nov02 ?        00:00:00 init [3]                  
    root     17565 17534  0 17:38 pts/1    00:00:00 grep init
    [root@localhost ~]# kill -KILL 1
    [root@localhost ~]# ps -ef|grep init
    root         1     0  0 Nov02 ?        00:00:00 init [3]                  
    root     17567 17534  0 17:38 pts/1    00:00:00 grep init
    说明:
    init 是 Linux 系统操作中不可缺少的程序之一。所谓的 init 进程,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程(其进程编号始终为1)。 其它所有进程都是 init 进程的子孙。init 进程是不可杀的!

    7》》杀死所有进程

    kill -9 -1
    参看:GNU kill 命令
    其中有解释:
    If pid is positive, the signal is sent to the process with the process id pid. 
    If pid is zero, the signal is sent to all processes in the process group of the current process. 
    If pid is -1, the signal is sent to all processes for which the user has permission to send a signal. 
    If pid is less than -1, the signal is sent to all processes in the process group that equals the absolute value of pid.
    翻译一下就是:
    如果pid为正,则将信号发送到进程 id pid的 进程。 如果 pid 为零,则将信号发送到当前进程的进程组中的所有进程。 如果pid为 -1,则信号被发送到用户有权发送信号的所有进程。 如果pid小于-1,则信号被发送到进程组中等于pid绝对值的所有进程。
    不过不推荐使用,虚拟机死机。

    展开全文
  • 在Linux下查看进程指令可以用ps(process status) 是unix/Linux下通用的进程状态查看工具 ps的常用选项 ...注意只有与终端关联的进程才会显示,那些守护进程或没有和终端关联的将不被显示...-o 对ps指令显示的信息
  • linux指令-ps

    千次阅读 2020-02-05 21:38:00
    ps(process status),用来查看当前运行的进程状态,一次性查看,如果需要动态连续结果使用 top 指令 linux 系统中进程有5种状态: 运行(正在运行或在运行队列中等待) 中断(休眠中, 受阻, 在等待某个条件的形成或...
  • ps -aux指令详解

    万次阅读 2016-10-12 16:04:21
    3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。 4)ps -e 此参数的效果和指定”A”参数相同。 5)ps e 列出程序时,显示每个程序所使用的环境变量。 6)ps f 用ASCII...
  • 一、ps -ef 指令 ·作用: 主要是查看服务器的进程信息 ·选项含义: -e:表示列出全部的进程 -f:显示全部的列(显示全字段) #ps -ef|grep "进程名称" 查看进程: 二、kill 指令 ·作用:表示杀死进程 (当遇到...
  • ps aux指令詳解

    万次阅读 多人点赞 2010-12-17 09:39:00
    linux上进程有5种状态:1. 运行(正在运行或在运行队列中等待)2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)4....3)ps
  • ps指令 1、查看所有的容器 2、查询最近创建的n个容器 3、列出所有容器的id isnpect指令 参数: -f :指定返回值的模板文件。 -s :显示总的文件大小。 –type :为指定类型返回JSON。 1、获取容器的元数据 docker ...
  • Linux ps aux指令詳解

    千次阅读 2019-03-04 21:33:05
    8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。 9)ps s 采用程序信号的格式显示程序状况。 10)ps S 列出程序时,包括已中断的子程序资料。 11)ps -t <终端机编号> 指定终端机编号,并列...
  • linux指令ps,grep

    千次阅读 2018-06-06 22:33:56
    ps -ef | grep java ps 显示当前进程状态 -ef 显示所有命令,连带命令行 grep 命令用于查找文件,内容里符合条件的字符串,若果发现内容符合所指定的范本样式,会将该列显示出来。找不定则会从键盘等输入设备读取...
  • Linux下的PS和grep指令的简单使用

    万次阅读 多人点赞 2016-08-10 19:34:10
    ps-process status ps用来查看进程,PS的参数非常多。 格式:ps [options] PS -A 列出所用的进程 PS -aux 显示所有包含其他使用者的进程 PS -axi 列出所有的精灵进程 grep——Goobal Regular Expr ession ...
  • 实践操作:2013-09-10 company_VM机 ps -ef 是查看所有的进程 ps -ef |grep 查看所有进程,再用grep筛选出目标进程
  • 通过指令ps -l”查看进程信息

    千次阅读 2017-04-17 22:47:57
    简介在Linux环境下使用ps -l指令即可以查看当前环境下与bash相关的的进程信息。 如图所示 下面我们来依次解释下这些内容F:代表这个进程的旗标,说明进程的权限常见的有4和1,4表示该进程是使用的root权限,1...
  • 执行 ps aux|grep xx.jar 后查询到两条进程的信息 ![图片说明](https://img-ask.csdn.net/upload/201705/24/1495628659_292652.png) 一个pid 是固定的 ,一个pid 是随时变的,请问这两条有什么区别? 我kill 杀掉 ...
  • 1、hostname指令 作用:操作服务器的主机名(读取、设置) 语法1:#hostname 含义:表示输出完整的主机名 语法2:#hostname-f 含义:表示输出当前主机名中的FQDN(全限定域名) 2、id指令 作用:查看一个用户...
  • arm下编译好的ps和kill

    2018-04-18 09:43:08
    busybox中的ps指令不完整,很多参数不能用,这是编译好的ps和kill,交叉编译器是arm-linux-gnueabi- 版本是5.4.0

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 141,037
精华内容 56,414
关键字:

ps指令