zoukankan      html  css  js  c++  java
  • Linux进程

    监测程序(ps):
    $ ps    -- 默认情况下, ps 命令只会显示运行在当前控制台下的属于当前用户的进程(!注意,shell也只是运行在系统上的另一个程序而已。以及 ps 命令本身)
    ps的三种风格:
        一、Unix风格的 ps 命令参数:
            -A              显示所有进程
            -N              显示与指定参数不符的所有进程
            -a              显示除控制进程(session leader ① )和无终端进程外的所有进程
            -d              显示除控制进程外的所有进程
            -e              显示所有进程
            -C cmdlist      显示包含在 cmdlist 列表中的进程
            -G grplist      显示组ID在 grplist 列表中的进程
            -U userlist     显示属主的用户ID在 userlist 列表中的进程
            -g grplist      显示会话或组ID在 grplist 列表中的进程 ②
            -p pidlist      显示PID在 pidlist 列表中的进程
            -s sesslist     显示会话ID在 sesslist 列表中的进程
            -t ttylist      显示终端ID在 ttylist 列表中的进程
            -u userlist     显示有效用户ID在 userlist 列表中的进程
            -F              显示更多额外输出(相对 -f 参数而言)
            -O format       显示默认的输出列以及 format 列表指定的特定列
            -M              显示进程的安全信息
            -c              显示进程的额外调度器信息
            -f              显示完整格式的输出
            -j              显示任务信息
            -l              显示长列表
            -o format       仅显示由 format 指定的列
            -y              不要显示进程标记(process flag,表明进程状态的标记)
            -Z              显示安全标签(security context) ① 信息
            -H              用层级格式来显示进程(树状,用来显示父进程)
            -n namelist     定义了 WCHAN 列显示的值
            -w              采用宽输出模式,不限宽度显示
            -L              显示进程中的线程
            -V              显示 ps 命令的版本号
            ps -ef
            ps -l
                F :内核分配给进程的系统标记。
                S :进程的状态(O代表正在运行;S代表在休眠;R代表可运行,正等待运行;Z代表僵化,进程已结束但父进程已不存在;T代表停止)。
                UID:启动这些进程的用户。
                PID:进程的进程ID。
                PPID:父进程的进程号(如果该进程是由另一个进程启动的)。
                C:进程生命周期中的CPU利用率。
                PRI :进程的优先级(越大的数字代表越低的优先级)。
                NI :谦让度值用来参与决定优先级。    
                ADDR :进程的内存地址。    
                SZ :假如进程被换出,所需交换空间的大致大小。
                WCHAN :进程休眠的内核函数的地址。
                TTY:进程启动时的终端设备。
                TIME:运行进程需要的累计CPU时间。
                CMD:启动的程序名称。
                STIME:进程启动时的系统时间。
        二、BSD风格的 ps 命令参数:
            T       显示跟当前终端关联的所有进程
            a       显示跟任意终端关联的所有进程
            g       显示所有的进程,包括控制进程
            r       仅显示运行中的进程   
            x       显示所有的进程,甚至包括未分配任何终端的进程           
            U userlist    显示归 userlist 列表中某用户ID所有的进程               
            p pidlist     显示PID在 pidlist 列表中的进程                         
            t ttylist     显示所关联的终端在 ttylist 列表中的进程                
            O format      除了默认输出的列之外,还输出由 format 指定的列         
            X             按过去的Linux i386寄存器格式显示                       
            Z             将安全信息添加到输出中                                 
            j             显示任务信息                                           
            l             采用长模式                                             
            o format      仅显示由 format 指定的列                               
            s             采用信号格式显示                                       
            u             采用基于用户的格式显示                                 
            v             采用虚拟内存格式显示                                   
            N namelist    定义在 WCHAN 列中使用的值                              
            O order       定义显示信息列的顺序                                   
            S             将数值信息从子进程加到父进程上,比如CPU和内存的使用情况
            c             显示真实的命令名称(用以启动进程的程序名称)           
            e             显示命令使用的环境变量                                 
            f             用分层格式来显示进程,表明哪些进程启动了哪些进程       
            h             不显示头信息                                           
            k sort        指定用以将输出排序的列                                 
            n             和 WCHAN 信息一起显示出来,用数值来表示用户ID和组ID    
            w             为较宽屏幕显示宽输出                                   
            H             将线程按进程来显示                                     
            m             在进程后显示线程                                       
            L             列出所有格式指定符                                     
            V             显示 ps 命令的版本 
            ps l
                VSZ:进程在内存中的大小,以千字节(KB)为单位。
                RSS:进程在未换出时占用的物理内存。
                STAT:代表当前进程状态的双字符状态码。
                    第一个字符采用了和Unix风格 S 列相同的值,表明进程是在休眠、运行还是等待。
                    第二个参数进一步说明进程的状态
                        < :该进程运行在高优先级上。
                        N :该进程运行在低优先级上。
                        L :该进程有页面锁定在内存中。
                        s :该进程是控制进程。
                        l :该进程是多线程的。
                        + :该进程运行在前台。 
        三、GNU风格的 ps 命令参数:
            --deselect       显示所有进程,命令行中列出的进程
            --Group grplist  显示组ID在 grplist 列表中的进程
            --User userlist  显示用户ID在 userlist 列表中的进程
            --group grplist  显示有效组ID在 grplist 列表中的进程
            --pid pidlist    显示PID在 pidlist 列表中的进程
            --ppid pidlist   显示父PID在 pidlist 列表中的进程
            --sid sidlist    显示会话ID在 sidlist 列表中的进程
            --tty ttylist    显示终端设备号在 ttylist 列表中的进程
            --user userlist  显示有效用户ID在 userlist 列表中的进程
            --format format  仅显示由 format 指定的列
            --context        显示额外的安全信息
            --cols n         将屏幕宽度设置为 n 列
            --columns n      将屏幕宽度设置为 n 列
            --cumulative     包含已停止的子进程的信息
            --forest         用层级结构显示出进程和父进程之间的关系
            --headers        在每页输出中都显示列的头
            --no-headers     不显示列的头
            --lines n        将屏幕高度设为 n 行
            --rows n         将屏幕高度设为 n 排
            --sort order     指定将输出按哪列排序
            --width n        将屏幕宽度设为 n 列
            --help           显示帮助信息
            --info           显示调试信息
            --version        显示 ps 命令的版本号
            
    实时监控(top):
        第一行显示了当前时间、系统的运行时间、登录的用户数以及系统的平均负载(最近1分钟,5分钟,15分钟)。通常,如果系统的负载值超过了2,就说明系统比较繁忙了 
        第二行显示了进程概要信息—— top 命令的输出中将进程叫作任务(task):有多少进程处在运行、休眠、停止或是僵化状态(僵化状态是指进程完成了,但父进程没有响应)。
        第三行显示了CPU的概要信息。 top 根据进程的属主(用户还是系统)和进程的状态(运行、空闲还是等待)将CPU利用率分成几类输出 紧跟其后的两行说明了系统内存的状态。
        第四行说的是系统的物理内存:总共有多少内存,当前用了多少,还有多少空闲。
        第五行说的是同样的信息,不过是针对系统交换空间(如果分配了的话)的状态而言的。
        PID:进程的ID。
        USER:进程属主的名字。
        PR:进程的优先级。
        NI:进程的谦让度值。
        VIRT:进程占用的虚拟内存总量。
        RES:进程占用的物理内存总量。
        SHR:进程和其他进程共享的内存总量。
        S:进程的状态(D代表可中断的休眠状态,R代表在运行状态,S代表休眠状态,T代表跟踪状态或停止状态,Z代表僵化状态)。
        %CPU:进程使用的CPU时间比例。
        %MEM:进程使用的内存占可用内存的比例。
        TIME+:自进程启动到目前为止的CPU时间总量。
        COMMAND:进程所对应的命令行名称,也就是启动的程序名。
    在 top 命令运行时键入可改变 top 的行为。键入f通过方向键选择字段:键入s选择需要排序的字段,键入d新增删除显示字段,键入q退出。
    
    Linux进程信号
        1   HUP    挂起
        2   INT    中断
        3   QUIT   结束运行
        9   KILL   无条件终止
        11  SEGV   段错误
        15  TERM   尽可能终止
        17  STOP   无条件停止运行,但不终止
        18  TSTP   停止或暂停,但继续在后台运行
        19  CONT   在 STOP 或 TSTP 之后恢复执行
    结束进程kill与killall,kill通过PID结束进程,killall支持进程名和通配符 
        kill 3940
        kill -s HUP 3940  -- 适用于不服管教的进程
        killall http*            -- 适用于群杀
    生活就要逢山开路遇水搭桥,愿共勉!
  • 相关阅读:
    接下来是沉重的一堆任务啊!
    wxPython入门(一)
    一个比较好玩的东西——硬链接
    Python打印本机IP
    voddown.py v0.3 基本上就这样吧
    Python的正则表达式
    【转】Python命名习惯
    bat命令
    试用了GIMP的Smart remove selection,结果有些失望啊,哈哈
    STM32学习笔记(1)——搭建库函数工程
  • 原文地址:https://www.cnblogs.com/TianMu/p/11193867.html
Copyright © 2011-2022 走看看