From: Helge Hafting <helgehaf@aitel.hist.no>
To: Gene Heskett <gene.heskett@verizon.net>
Cc: linux-kernel@vger.kernel.org, bert hubert <ahu@ds9a.nl>
Subject: Re: is killing zombies possible w/o a reboot?
Date: Wed, 3 Nov 2004 21:13:22 +0100 [thread overview]
Message-ID: <20041103201322.GA10816@hh.idb.hist.no> (raw)
In-Reply-To: <200411031124.19179.gene.heskett@verizon.net>
On Wed, Nov 03, 2004 at 11:24:19AM -0500, Gene Heskett wrote:
> On Wednesday 03 November 2004 09:33, bert hubert wrote:
> >On Wed, Nov 03, 2004 at 07:51:39AM -0500, Gene Heskett wrote:
> >> But I'd tried to run gnomeradio earlier to listen to the
> >> elections,
> >
> >Depressing enough.
> >
> >> I'd tried to kill the zombie earlier but couldn't.
> >> Isn't there some way to clean up a &^$#^#@)_ zombie?
> >
> >Kill the parent, is the only (portable) way.
>
> The parent would have been the icon. It opened its usual sized small
> window, but never did anything to it. I clicked on closing the
> window, but 10 seconds later the system asked me if I wanted to kill
> it as it wasn't responding. I said yes, the window disappeared, but
> kpm said gomeradio was still present as process 8162, and that wasn't
> killable. Funny thing is, on the reboot, it automaticly self
> restored and ran just fine.
>
> I consider this as one of linux's achilles heels. Such a hung and
> dead process can be properly disposed of by a primitive os called os9
> because it keeps track of all resources in tables in the kernel
> memory space. Issueing a kill procnumber removes the process from
> the exec queue, reclaims all its memory to the system free memory
> pool, and removes it from the IRQ service tables if an entry exists
> there. Near instant, total cleanup, nothing left, in about 250
> microseconds max. 1.79 mhz cpu's aren't quite instant :)
>
Killing a process in linux with "kill -9 oid" also release all resources,
such as memory and file descriptors. The resource consumption of a
"zombie" is measured in bytes, not kilobytes.
> Lets just say that I think having to reboot because of a zombie that
> has resources locked up, and have the reboot fubared by it too,
> aren't exactly friendly actions.
>
Did you try logging out from the graphical user interface,
and then logging in again?
GUI programs are usually children of the window manager (or some
app launcher, all of these quit when you log out. A plain
zombie started from the GUI will disappear after that.
Only something stuck in a device driver will need the reboot,
but that tends to be a bug in the driver.
You can try unloading the driver module, but linux has a
nasty tendency to answer that with an OOPS or worse. When
something goes wrong - it does so properly and thourougly. :-)
> I fully realise that linux has a much more complex method of
> allocating resources, but doesn't it *know* exactly what resources
> have been passed out to each process?
>
Yes it does - the problem is that not all resources are managed
by processes. Some allocations are managed by drivers, so a driver
bug can get the device into a unuseable state _and_ tie up the
process(es) that were using the driver at the moment.
> And why is there no entry from the kill function into that resource
> management portion of the kernel so that this could also be done by
> the linux kernel, say with a "kill --total procnumber"?
>
Interesting, but you might need a path from "kill" into
every device driver. :-/ And of course it wtill won't work
if there is a bug in the driver.
> Seems like a heck of a good question to me since an os written to run
> on a 64k machine in 1981, and expanded to run on a 128K to 2 megabyte
> machine in 1986 can do it just fine. Even if that process is still
> running and spitting out data to its parent window/shell! Or if its
> crashed and scribbled over all its memory, makes no difference to
> os9. You (root) wants it gone, fine, its gone.
>
Can os9 do this if the process is busy calling into a buggy
device driver that simply doesn't return or perhaps believes
that some dma operation into process memory is taking forever?
Or perhaps os9 doesn't have lots and lots of drivers written by
different people with varying competence?
Often, the real solution is to fix the driver to deal with
"unexpected" conditions.
Helge Hafting
next prev parent reply other threads:[~2004-11-03 20:07 UTC|newest]
Thread overview: 99+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-03 12:51 Gene Heskett
2004-11-03 14:33 ` bert hubert
2004-11-03 14:49 ` Måns Rullgård
2004-11-03 15:25 ` DervishD
2004-11-03 15:25 ` Måns Rullgård
2004-11-03 17:49 ` DervishD
2004-11-03 16:47 ` Gene Heskett
2004-11-03 17:44 ` DervishD
2004-11-03 18:53 ` Gene Heskett
2004-11-03 19:01 ` Doug McNaught
2004-11-03 19:03 ` Måns Rullgård
2004-11-03 19:24 ` Gene Heskett
2004-11-03 19:33 ` Doug McNaught
2004-11-03 19:34 ` Måns Rullgård
2004-11-03 19:06 ` Valdis.Kletnieks
2004-11-03 19:26 ` Gene Heskett
2004-11-03 19:33 ` Valdis.Kletnieks
2004-11-03 20:09 ` Gene Heskett
2004-11-04 19:24 ` Bill Davidsen
2004-11-03 19:42 ` DervishD
2004-11-03 23:12 ` Bill Davidsen
2004-11-04 10:26 ` DervishD
2004-11-04 14:23 ` Paul Slootman
2004-11-04 14:56 ` Gene Heskett
2004-11-04 18:24 ` DervishD
2004-11-04 19:22 ` Bill Davidsen
2004-11-04 20:53 ` DervishD
2004-11-03 19:26 ` DervishD
2004-11-03 20:18 ` Gene Heskett
2004-11-03 22:15 ` Jim Nelson
2004-11-03 22:44 ` Russell Miller
2004-11-03 23:03 ` Doug McNaught
2004-11-03 23:33 ` Russell Miller
2004-11-03 23:47 ` Mathieu Segaud
2004-11-03 23:56 ` Russell Miller
2004-11-04 0:05 ` Mathieu Segaud
2004-11-04 6:39 ` Denis Vlasenko
2004-11-05 2:38 ` Elladan
2004-11-05 3:10 ` Tim Connors
2004-11-05 3:17 ` Russell Miller
2004-11-05 4:38 ` Elladan
2004-11-05 5:00 ` Kyle Moffett
2004-11-04 20:06 ` Bill Davidsen
2004-11-03 23:06 ` vlobanov
2004-11-04 10:04 ` Helge Hafting
2004-11-04 17:16 ` Alex Bennee
2004-11-04 16:30 ` Pedro Venda (SYSADM)
2004-11-04 22:28 ` Helge Hafting
2004-11-03 23:07 ` Bill Davidsen
2004-11-04 1:19 ` Michael Clark
2004-11-04 16:01 ` kernel
2004-11-04 16:18 ` Gene Heskett
2004-11-04 16:47 ` kernel
2004-11-04 17:58 ` Gene Heskett
2004-11-03 22:58 ` Bill Davidsen
2004-11-04 10:23 ` DervishD
2004-11-04 19:32 ` Bill Davidsen
2004-11-04 21:11 ` DervishD
2004-11-09 23:31 ` Bill Davidsen
2004-11-10 9:11 ` DervishD
2004-11-03 23:18 ` Adam Heath
2004-11-03 16:38 ` Gene Heskett
2004-11-03 16:24 ` Gene Heskett
2004-11-03 16:46 ` linux-os
2004-11-03 19:12 ` Gene Heskett
2004-11-03 19:56 ` Måns Rullgård
2004-11-03 20:13 ` Helge Hafting [this message]
2004-11-03 20:40 ` Gene Heskett
2004-11-04 0:43 ` Kurt Wall
2004-11-04 1:01 ` Russell Miller
2004-11-04 1:38 ` Doug McNaught
2004-11-04 1:45 ` Russell Miller
2004-11-04 1:56 ` Doug McNaught
2004-11-04 1:59 ` Mitchell Blank Jr
2004-11-04 20:10 ` Bill Davidsen
2004-11-04 10:07 ` Matthias Andree
2004-11-04 22:31 ` Peter Chubb
2004-11-04 23:33 ` Benno
2004-11-03 20:48 ` Tom Felker
2004-11-03 21:08 ` Gene Heskett
2004-11-04 7:19 ` Jan Knutar
2004-11-04 11:57 ` Gene Heskett
2004-11-04 12:12 ` Jan Knutar
2004-11-04 12:18 ` Gene Heskett
2004-11-04 12:29 ` Jan Knutar
2004-11-04 13:56 ` Gene Heskett
2004-11-04 12:39 ` Gene Heskett
2004-11-04 13:01 ` Ian Campbell
2004-11-04 14:07 ` Gene Heskett
2004-11-04 14:24 ` Ian Campbell
2004-11-04 15:10 ` Gene Heskett
2004-11-04 14:26 ` DervishD
2004-11-04 15:13 ` Gene Heskett
2004-11-04 13:10 ` Doug McNaught
2004-11-04 14:11 ` Gene Heskett
2004-11-04 14:42 ` tlaurent
2004-11-04 15:14 ` Gene Heskett
2004-11-04 20:18 ` Bill Davidsen
2004-11-05 0:29 ` Gene Heskett
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20041103201322.GA10816@hh.idb.hist.no \
--to=helgehaf@aitel.hist.no \
--cc=ahu@ds9a.nl \
--cc=gene.heskett@verizon.net \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®