GNU/Linux >> Linux の 問題 >  >> Linux

ゾンビ vs 廃止されたプロセス?

両方 Zombiedefunct は同じです。 ZOMBIE state of the process の 1 つです defunct がない間 カーネルのソース コードから確認できます。

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

ゾンビ状態とは、ゾンビが終了したが、まだクリーンアップされていない場所を意味します .

proc(1) の man ページを開くことができます この /proc/[pid]/stat を見てください プロセスに関するステータス情報。これは ps(1) で使用されます .


Linux の場合、「無効」プロセスと「ゾンビ」プロセスは同じです。

man ps から :

<ブロック引用>

<defunct> とマークされたプロセス 親が適切に破壊しなかったために残っている死んだプロセス (いわゆる「ゾンビ」) です。親プロセスが終了すると、これらのプロセスは init(8) によって破棄されます。

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

Achal が言ったように、機能停止は ps によって追加されました。厳密に言えば、それらは同じものではありません。

たとえば、次の表では、tid 10941 のみがゾンビでした。他のスレッドは、Z ではなく D のステータスでした。

$ 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. ゾンビプロセスとは何ですか?ゾンビプロセスを見つけて殺す方法は?

  2. Fn キーの状態を切り替える

  3. LinuxでゾンビとD状態のプロセスを強制終了する最良の方法

  1. Linuxpsコマンド

  2. Linux プロセス、スレッド、軽量プロセス、およびプロセス状態とは

  3. ps:コマンドが見つかりません

  1. Linuxでゾンビプロセスを強制終了する方法

  2. Linux:ゾンビ プロセスを見つけて強制終了する

  3. ゾンビプロセスの作成