• Linux进程状态——top,ps中看到进程状态D,S,Z的含义


    在top和ps命令中有一列显示进程状态,分别有如下值:

       

    含义

    S

    进程处于interruptable sleep状态

    D

    进程处于Uninterruptable sleep状态

    R

    进程处于运行状态

    Z

    进程处于僵尸状态

    T

    Stop模式,进程要么处于被调试状态

       

    【S进程】

    进程等待某个资源处于sleep状态,此时可以通过发送信号将这个进程唤醒。例如发送kill 信号。

       

    【D进程】

    进程在内核中某些不能被信号打断,例如对某些硬件设备进行操作时刻(等待磁盘Io,等待网络io等等)。

       

    进程处于D状态一般情况下很短暂,不应该被top或者ps看到

       

    如果进程在top和ps看到长期处于D状态,那么可能进程在等待IO时出现了问题导致进程一直等待不到IO资源,此时如果要处理掉这个D进程,那么只能重启整个系统才会恢复。因为此时整个进程无法被kill 掉

       

    【Z进程】

    僵尸进程。

    在Linux中,每个进程都有一个父进程,进程号叫PID(Process ID),父进程号叫PPID(Parent PID)。当进程死亡时,会关闭已经打开的文件舍弃已经占用的内存,交换空间等公共资源,然后向父进程返回一个退出状态值,报告死讯。

    如果在报告的过程中出了问题,父进程不知道子进程死了,子进程便变成了僵尸。

       

    Linux中,可以通过杀死父进程的方式来让子进程消失。但是,僵尸进程并不占用任何资源,只是错误显示,如果父进程正在跑业务,千万不可以贸然杀死父进程

       

       

       

      

  • 相关阅读:
    关于字节对齐以及内存占用
    关于HandlerThread的分析
    关于栈和队列的相关操作
    自定义控件(View的绘制流程源码解析)
    关于采用github.io搭建个人博客
    算法题解
    关于Android中ArrayMap/SparseArray比HashMap性能好的深入研究
    ADB server didn't ACK * failed to start daemon *
    Handler 、 Looper 、Message
    KMP字符串模式匹配详解(转)
  • 原文地址:https://www.cnblogs.com/liuxia912/p/11253156.html
Copyright © 2020-2023  润新知