Subject: Re: killing the unkillable
To: None <tech-kern@netbsd.org>
From: Greg A. Woods <woods@weird.com>
List: tech-kern
Date: 11/09/2002 12:50:17
[ On Saturday, November 9, 2002 at 09:59:13 (+0200), Alan Barrett wrote: ]
> Subject: Re: killing the unkillable
>
> On Fri, 08 Nov 2002, Julio Merino wrote:
> > "Jeremy C. Reed" <reed@reedmedia.net> wrote:
> > > Can someone point me to the code or documentation about why some
> > > processes won't be killed?
> > I do not know, but this is *very* *annoying*.
>
> It sometimes helps to call revoke(2) on a pathname that refers to the
> device that is wedged.
>
> Perhaps we need a new syscall to *really* kill a process, even if it's
> in a state where normal signal delivery does not happen. Late 1980's
> Apollo Domain-OS had a "kill -lbolt" command that sent a "lightning
> bolt" that worked even where "kill -9" did not work.
Perhaps we should just fix SIGKILL so that it does what it's supposed to
do. There should be no need to have a SIGREALLYKILLITDEAD when that's
what SIGKILL is really already supposed to be. SIGLBOLT was a very bad
hack piled on top of a broken implementation. (and of course literally
wasn't SIGLBOLT just a way to invoke wakeup(lbolt)?)
This is in some ways related to the same kinds of problems that can
happen with processes that hang in _exit() (i.e. before they become
zombies) waiting for events that never (and sometimes cannot ever)
happen. This issue was discussed briefly on this list back in late
Oct. of 2000.
--
Greg A. Woods
+1 416 218-0098; <g.a.woods@ieee.org>; <woods@robohack.ca>
Planix, Inc. <woods@planix.com>; VE3TCP; Secrets of the Weird <woods@weird.com>