• 查看进程命令


    ps命令

    [root@i-ka ~]#ps -l
    F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
    4 S     0 17236 17233  0  80   0 - 28946 wait   pts/0    00:00:00 bash
    0 R     0 17274 17236  0  80   0 - 37233 -      pts/0    00:00:00 ps

    每个字段的意义简单说明如下:

    F (flag):代表程序的总结旗标,常见为4 代表root
    S (stat):状态列,主要的分类项目有:
                 R (Running):该程式正在运作中;
                 S (Sleep):该程式目前正在睡眠状态(idle),但可以被唤醒(signal)。
                 D :不可被唤醒的睡眠状态,通常这支程式可能在等待I/O 的情况(ex>列印)
                 T :停止状态(stop),可能是在工作控制(背景暂停)或除错(traced) 状态;
                 Z (Zombie):僵尸状态,程序已经终止但却无法被移除至记忆体外。
    UID/PID/PPID:代表『此程序被该UID 所拥有/程序的PID 号码/此程序的父程序PID 号码』
    C:代表CPU 使用率,单位为百分比;
    PRI/NI:Priority/Nice 的缩写,代表此程序被CPU 所执行的优先顺序,数值越小代表该程序越快被CPU 执行。
    ADDR/SZ/WCHAN:都与记忆体有关,ADDR 是kernel function,指出该程序在记忆体的哪个部分,如果是个running 的程序,一般就会显示『 - 』 / SZ 代表此程序用掉多少记忆体/ 表示目前程序是否运作中,同样的, 若为- 表示正在运作中。
    TTY:登入者的终端机位置,若为远端登入则使用动态终端介面(pts/n);
    TIME:使用掉的CPU 时间,注意,是此程序实际花费CPU 运作的时间,而不是系统时间;
    CMD:就是command 的缩写,造成此程序的触发程式之指令为何。

    ps aux

    [root@i-ka ~]# ps aux
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root         1  0.0  0.0 125196  2640 ?        Ss    2019  23:56 /usr/lib/systemd/sy
    nginx      898  0.0  0.0  55636   640 ?        S     2019   0:01 nginx: worker proce
    redis     1012  0.0  0.0 142904  1068 ?        Ssl   2019  48:14 /usr/bin/redis-serv

    每一个项目代表的意义简易说明如下:

    USER:该process 属于那个使用者帐号的
    PID :该process 的程序识别码。
    %CPU:该process 使用掉的CPU 资源百分比;
    %MEM:该process 所占用的实体内存百分比;
    TTY :该process 是在那个终端机上面运作,若与终端机无关则显示?,另外, tty1-tty6 是本机上面的登入者程序,若为pts/0 等等的,则表示为由网路连接进主机的程序。
    STAT:该程序目前的状态,状态显示与ps -l 的S 旗标相同(R/S/T/Z)
    START:该process 被触发启动的时间;
    TIME :该process 实际使用CPU 运作的时间。
    COMMAND:该程序的实际指令

    pstree

    [root@i-ka ~]#pstree [选项] [PID或用户名]  #查看进程树
    常用命令选项:
    -a:显示完整的命令行
    -p:列出对应PID编号

    top动态观察程序

    Tasks:  63 total,   1 running,  62 sleeping,   0 stopped,   0 zombie  
    %Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    KiB Mem :  1883724 total,   101444 free,    85704 used,  1696576 buff/cache
    KiB Swap:        0 total,        0 free,        0 used.  1612240 avail Mem 
    PID USER PR NI VIRT RES SHR S
    %CPU %MEM TIME+ COMMAND 26121 root 10 -10 124764 9820 6256 S 0.3 0.5 516:44.65 AliYunDun 1 root 20 0 125148 3388 2132 S 0.0 0.2 2:38.84 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.45 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:27.10 ksoftirqd/0 5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H 7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh

    top 程式执行的状态列,每个项目的意义为:

    PID :每个process 的识别码(PID)
    USER:该process 所属的使用者;
    PR :Priority 的简写,程序的优先执行顺序,越小越早被执行;
    NI :Nice 的简写,与Priority 有关,也是越小越早被执行;
    %CPU:CPU 的使用率;
    %MEM:内存的使用率;
    TIME+:CPU 使用时间的累加;
    COMMAND:指令

    如果你发现在某个程序的CMD 后面还接上<defunct> 时,就代表该程序是僵尸程序,可以使用kill杀死,例如:

    apache 8683 0.0 0.9 83384 9992 ? Z 14:33 0:00 /usr/sbin/httpd <defunct>

    kill杀死进程

    pgrep命令

    pgrep [选项]... 查询条件    #检索进程

    常用命令选项:

     -l:输出进程名,而不仅仅是 PID
     -U:检索指定用户的进程
     -t:检索指定终端的进程
     -x:精确匹配完整的进程名

    lsof命令 

    在终端下输入lsof即可显示系统打开的文件,因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能。

    [root@queen ~]# lsof /root/   
    COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
    aliyun-se   757 root  cwd    DIR  253,1     4096 131073 /root
    bash      17433 root  cwd    DIR  253,1     4096 131073 /root
    lsof      17460 root  cwd    DIR  253,1     4096 131073 /root
    lsof      17461 root  cwd    DIR  253,1     4096 131073 /root

    常用选项参数:

    -c 进程 -c 进程 #显示指定进程名现在打开的文件;可以同时列出多个程序的
    -p pid1,pid2... #查看指定进程号的进程打开了哪些文件
    -i  #列出所有的网络连接
    -i[:service|port]  #列出谁在使用某个特定的tcp/udp端口
        service --> /etc/service中的 service name (可以不只一个)
        port --> 端口号 (可以不只一个)
    #lsof 文件名   显示打开指定文件的所有进程

  • 相关阅读:
    等保测评 规格严格
    Idea导入模块后test文件夹不能被识别 规格严格
    git log 日志命令——显示提交日志 规格严格
    python 转unicode_python中将\\uxxxx转换为Unicode字符串的方法 规格严格
    sed i 命令详解 规格严格
    Win10磁盘上出现黄色感叹号和小锁的解决办法 规格严格
    mysql sum()按条件求和、count()按条件计数
    springboot整合jsp,页面全报404
    mysql 1267 Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_unicode_ci,IMPLICIT) for operation '='
    exception Required String parameter 'orgCode' is not present
  • 原文地址:https://www.cnblogs.com/xujint/p/13141591.html
Copyright © 2020-2023  润新知