ゾンビプロセスは、完了したプロセスの一種ですが、子プロセスと親プロセスの間の通信が不足しているため、そのエントリはまだプロセステーブルに残っています。このチュートリアルで開発された小さなプログラムは、学習目的に役立ちます。例えば。 Linuxでのゾンビプロセスの検出に関しては。
このチュートリアルでは、Debian10でダミーのゾンビプロセスを作成します。
Debian10でのダミーゾンビプロセスの作成
メモ帳を開き、次のコードを貼り付けます。
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
int main ()
{
pid_t child_pid;child_pid = fork ();
if (child_pid > 0) {
sleep (120);
}
else {
exit (0);
}
return 0;
}
このファイルをzombie.cとして保存します 。このコードで作成されたゾンビプロセスは120秒間実行されます。スリープ機能で時間(秒単位)を調整できます。
次に、ターミナルを開き、次のコマンドを実行して上記のコードをコンパイルします。
cc zombie.c -o zombie
このコマンドの後、実行可能な目的ファイルが現在のディレクトリに作成されているはずです。
ゾンビファイルを実行します:
./zombie
grepを使用して次のコマンドを実行すると、ゾンビプロセスの親IDが取得されます。
ps axo stat,ppid,pid,comm | grep -w defunct
これが、Debian10でダミーのゾンビプロセスを作成する方法です。このチュートリアルに従うのに問題がないことを願っています。
