Yep, it is time to spit out some C code.
create_zombie.c - when compiled this would create a zombie process.
$ ./create_zombie
Parent at pid: 19240 and ppid: 20225
Our child 19241 will be the zombie, watch below:
S PID COMMAND
Z 19241 [create_zombie]
Below is the C code behind this:
/*
* Author: evuraan
*
* when the child has exited, and the parent has not
* yet collected the child's death certificate,
* the child process becomes a zombie
*
*/
#include
char *cmd[300];
int main(){
int pid;
pid = vfork();
if (pid == 0){
/* child */
exit(0);
} else {
/* parent */
printf("Parent at pid: %d and ppid: %d\n", getpid(), getppid() );
printf("Our child %d will be the zombie, watch below:\n", pid);
sprintf(&cmd, "%s %d", "ps -o state,pid,command -p ", pid);
sleep(1);
system(cmd);
}
return 0;
}
(Also available at :
https://evuraan.info/evuraan/stuff/create_zombie.c.txt)