美文网首页运维
Linux中查看进程状态信息

Linux中查看进程状态信息

作者: yichen_china | 来源:发表于2019-05-31 11:31 被阅读9次

    一、常用命令总结

       ps -l   列出与本次登录有关的进程信息;
       ps -aux   查询内存中进程信息;
       ps -aux | grep ***   查询***进程的详细信息;
       top   查看内存中进程的动态信息;
       kill -9 pid   杀死进程。
    

    二、进程简述及查看方式

    进程是运行的程序在系统中的存在形式,通过查看进程的状态信息,我们可以了解进程占用的系统资源情况,对系统的运行状态进行分析、调整,从而让系统保持在一个平稳的状态下运行。
    Linux中查看进程信息的基本命令有ps、top,其中ps(Process Status)查看的是进程信息的一个快照,显示的我们执行ps这个命令时进程的信息,top显示的是进程的动态信息,使用这个命令会看到进程信息的动态变化。

    三、进程信息的查看

    2.1 列出与 本次登录系统 有关的进程信息

          ps  ( ps -l, 列出的是详细信息 ) 
    F 代表这个程序的旗标 (flag), 4 代表使用者为 superuser;
    S 代表这个程序的状态 (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)。 )
    

    2.2 列出在内存中运行的 全部进程信息

          ps  -aux ( ps -aux | grep ***,  列出 *** 进程的详细信息) 
    
     USER :进程的所属用户,
    PID :进程的进程ID号, 
    %CPU :进程占用的 CPU资源 百分比,
    %MEM :进程占用的 物理内存 百分比, 
    VSZ :进程使用掉的虚拟内存量 (Kbytes) ,
    RSS :进程占用的固定的内存量 (Kbytes) ,
    TTY :与进程相关联的终端(tty),?代表无关,tty1-tty6是本机上面的登入者程序,pts/0表示为由网络连接进主机的程序。
    STAT :进程的状态,具体见2.1列出来的部分 ,
    START :进程开始创建的时间 ,
    TIME :进程使用的总cpu时间,
    COMMAND : 进程对应的实际程序。
    

    2.3 动态显示内存中的进程信息(top)

    四、进程的清除

       kill -9 -pid (pid通过上面的命令可以查到)
    

    注:有些进程是不允许停止的,因为停止会造成系统的不稳定,甚至崩溃。(网上搜索进程知识了解更多)

    五 删除相关进程

    如,要 kill 掉 swoole 相关的进程

    ps aux | grep swoole |  awk '{print $2}' | xargs kill -9
    

    ps 列出所有进程,

    参数:

    a - 显示现行终端机下的所有进程,包括其他用户的进程;
    u - 以用户为主的进程状态 ;
    x - 通常与 a 这个参数一起使用,可列出较完整信息。
    grep 过滤掉不包含 "swoole" 的行
    awk '{print $2}'    获取进程 ID (PID, Process Identification),我们想 kill 掉某一个进程的时候需要通过 PID 指定特定进程
    xargs  将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令的命令参数。
    

    也就是将管道传递过来的每一个 PID 作为 kill -9 的参数

    相关文章

      网友评论

        本文标题:Linux中查看进程状态信息

        本文链接:https://www.haomeiwen.com/subject/sgrwtctx.html