GNU/Linux >> Tutoriales Linux >  >> Linux

¿Zombie vs Procesos difuntos?

Ambos Zombie y defunct son idénticos. ZOMBIE es el de los state of the process mientras no haya defunct estado, puede verlo desde el código fuente de su kernel.

enum proc_state {
    UNUSED,   /*** processes in initial state **/
    EMBRYO, 
    SLEEPING,
    RUNNABLE, 
    RUNNING, 
    ZOMBIE   /** processes in final state **/
};

Estado zombi significa donde ha salido pero aún no se ha limpiado .

puede abrir la página man de proc(1) y ver este /proc/[pid]/stat Información de estado sobre el proceso. Esto es utilizado por ps(1) .


Para Linux, los procesos "desaparecidos" y "zombies" son los mismos.

Desde man ps :

Procesos marcados <defunct> son procesos muertos (los llamados "zombis") que permanecen porque su padre no los ha destruido adecuadamente. Estos procesos serán destruidos por init(8) si el proceso padre sale.

PROCESS STATE CODES
    Here are the different values that the s, stat and state output specifiers (header "STAT" or "S") will display to describe the state of a process:
    D    uninterruptible sleep (usually IO)
    R    running or runnable (on run queue)
    S    interruptible sleep (waiting for an event to complete)
    T    stopped by job control signal
    t    stopped by debugger during the tracing
    W    paging (not valid since the 2.6.xx kernel)
    X    dead (should never be seen)
    Z    defunct ("zombie") process, terminated but not reaped by its parent

Como dijo Achal difunto fue añadido por ps. Estrictamente hablando, no son lo mismo.

Por ejemplo, solo tid 10941 era un zombi en la siguiente tabla. Los otros subprocesos estaban en D en lugar de Z.

$ grep prometheus foo/bar/sos_commands/process/ps_-elfL
4 Z root      10941  10920  10941  0    6  80   0 -      0 exit   Mar14 ?  00:11:41 [prometheus] <defunct>
1 D root      10941  10920  11010  0    6  80   0 - 621811 wait_o Mar14 ?  00:11:08 [prometheus] <defunct>
1 D root      10941  10920  11025  0    6  80   0 - 621811 wait_o Mar14 ?  00:08:13 [prometheus] <defunct>
1 D root      10941  10920  11057  0    6  80   0 - 621811 wait_o Mar14 ?  00:11:12 [prometheus] <defunct>
1 D root      10941  10920  11060  0    6  80   0 - 621811 wait_o Mar14 ?  00:11:42 [prometheus] <defunct>
1 D root      10941  10920  11298  0    6  80   0 - 621811 wait_o Mar14 ?  00:11:05 [prometheus] <defunct>


Linux
  1. Cómo matar un proceso zombie en Linux

  2. pd:comando no encontrado

  3. Linux:Buscar y eliminar procesos zombis

  4. Cambiar el estado de la tecla Fn

  5. La mejor manera de matar los procesos de estado Zombie y D en Linux

Cómo matar procesos Zombie en Ubuntu 20.04 LTS

Supervisión de procesos en Linux

Cómo usar el comando PS

Procesos corriendo

Comprender los procesos en Linux

Cómo matar procesos Zombie en Ubuntu