• ps命令


    @(Linux基础)[ps命令]
    ps命令

    语法

    ps(选项)

    选项

    -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"选项相同。

    常用

    ps -l
    F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
    4 S     0 31549 31547  0  80   0 - 28881 do_wai pts/2    00:00:00 bash
    0 R     0 31588 31549  0  80   0 - 37235 -      pts/2    00:00:00 ps
    

    解释

    # F 代表这个程序的旗标 (flag), 4 代表使用者为 superuser;
    
    # S 代表这个程序的状态 (STAT);
    
    #UID 代表执行者身份
    
    # PID 进程的ID号!底下的 PPID 则父进程的ID;
    
    # C CPU 使用的资源百分比
    
    # PRI指进程的执行优先权(Priority的简写),其值越小越早被执行;
    
    # NI 这个进程的nice值,其表示进程可被执行的优先级的修正数值。
    
    # ADDR 这个是内核函数,指出该程序在内存的那个部分。如果是个执行
    
    # 的程序,一般就是『 - 』
    
    # SZ 使用掉的内存大小;
    
    # WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作;
    
    # TTY 登入者的终端机位置啰;
    
    # TIME 使用掉的 CPU 时间。
    
    # CMD 所下达的指令名称
    
    ps -aux
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root         1  0.0  0.0 190860  3800 ?        Ss    2017   0:31 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
    root         2  0.0  0.0      0     0 ?        S     2017   0:01 [kthreadd]
    root         3  0.0  0.0      0     0 ?        S     2017   0:01 [ksoftirqd/0]
    root         5  0.0  0.0      0     0 ?        S<    2017   0:00 [kworker/0:0H]
    root         7  0.0  0.0      0     0 ?        S     2017   0:00 [migration/0]
    
    

    • 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:该程序的实际指令为什么?

  • 相关阅读:
    JVM深入理解(四)-内存模型【上】
    JVM深入理解(三)-加载与字节码执行
    JVM深入理解(二)-结构与内存管理
    初级正则表达式
    光弧,高亮
    substr,subString,split,slice,replace的区别
    SpringBoot配置SSLUnable to start ServletWebServerApplicationContext due to multiple ServletWebServerFa
    79:Python开发-sqlmapapi&Tamper&Pocsuite
    76:Python开发-内外网收集Socket&子域名&DNS
    77:Python开发-批量Fofa&POC验证&SRC提取
  • 原文地址:https://www.cnblogs.com/xiaogongzi/p/8472901.html
Copyright © 2020-2023  润新知