Zombie Killer

Component ID

603116

Component name

Zombie Killer

Component type

module

Maintenance status

Development status

Component security advisory coverage

not-covered

Component created

Component changed

Component body

This module kills zombies!

Why? Because someone said "I bet Drupal can't kill zombies".

From Wikipedia:

Only local images are allowed.

On Unix and Unix-like computer operating systems, a zombie process or defunct process is a process that has completed execution but still has an entry in the process table. This entry is still needed to allow the process that started the (now zombie) process to read its exit status. The term zombie process derives from the common definition of zombie — an undead person.

This module was created by ximo and dixon_ as a response to this challenge, and will actually kill zombie processes on your server. For this to work you must run your server as root, so it won't do any harm when installed on a normal Drupal site. Still, it requires pretty bad judgement.

Here's an example of the action that takes place in the module:

// Bring out our weapon of choice.
$weapon = $form_state['storage']['values']['weapon'];

// Die zombies, die!!!
foreach ($form_state['values']['parents'] as $ppid) {
  if ($weapon == 'signal') {
    shell_exec('kill -s SIGCHLD '. $ppid); // BAM!
  }
  elseif ($weapon == 'kill') {
    shell_exec('kill -9 parent '. $ppid); // POW!
  }
  // @todo Check whether zombie was successfully killed or still undead.
}

The working module can be found on GitHub.

Warning!

To kill zombies, you must run your server as root. That, of course, is both dangerous and stupid. Emergency use only!