[PLUG] How to kill firefox.bin
Tony Rick
tonyr42 at gmail.com
Tue Oct 9 16:49:04 UTC 2007
So let's review.
1. John has a a firefox-bin zombie whose existence, apparently, will not let
him start up a new
instance of firefox.
2. Zombies can't be 'killed' because they are already dead.
3. There is no user path to removing zombies, short of rebooting.
4. Zombies exist because a parent process didn't 'reap' a child process's
exit status;
the child process becomes the zombie.
5. All processes are decendents of the 'init' process (PID 1).
6. If there is no parent to 'reap' a child's exit status, the child/zombie
is inherited
by the 'init' process.
7. Supposedly 'init' periodically 'reaps' exit status from all it's
children, allowing
zombie processes to be deleted from the process table.
8. None of this helps John solve the original problem.
So where in this sequence does John's example go wrong? There's bug
material here,
but I can't seem to find any reference to such at Malone. On my x86 (not
64bit) laptop,
firefox-bin is already a direct child of 'init' (PID 1). (I use the CLI
command 'ps axwwl',
parent process ID is the fourth column).
There is another,slightly longer, explanation of the zombie thing at
http://wiki.answers.com/Q/What_is_Zombie_Process_and_Orphan_Process
There are a couple of things to try not mentioned yet. 'sudo kill -SIGCHLD
1' should send a signal to the 'init' process which it may (or may not)
handle as a request to reap dead children. 'sudo kill -HUP 1' should send a
signal to the 'init' process to re-read it's tty
config file (and maybe other stuff). Since the whole 'init' thing is now
some kind of
adjunct to 'upstart', I'm not really sure how/whether any of this signal
behavior still
obtains. Caveat Emptor, YMMV, etc etc etc...
- tony
More information about the PLUG
mailing list