如何在 Debian 10 上用 C 编程语言创建虚拟僵尸进程
僵尸进程是一种已经完成的进程,但由于子进程和父进程之间缺乏通信,其条目仍然保留在进程表中。本教程中开发的小程序可用于学习目的。例如。当涉及到Linux下检测僵尸进程时。
在本教程中,我将在 Debian 10 中创建一个虚拟僵尸进程。
在 Debian 10 中创建虚拟僵尸进程
打开记事本并粘贴以下代码。
#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
这就是在 Debian 10 中创建虚拟僵尸进程的方法。我希望您在学习本教程时不会遇到困难。