Discussion:
lynx processes, please clean up after your children ; -)
Thorsten Glaser
2014-08-27 20:26:39 UTC
Permalink
Hi,

prodded by an IRC snippet I’ll reproduce below, I just had a look:

***@blau:~ $ ps x | fgrep lynx
17739 p7 ZW+ 0:00.00 (lynx)
4010 p7 I+ 1:08.53 lynx

These are probably spawned by DNS. Please add the appropriate
wait*() calls to immediately reap them, and SIGCHLD handling.


06:20 < waressearcher2> I have 23 processes "[lynx] <defunct>" and they
consume 30% of my RAM its 300MB, how to remove
them ? they seem like zombie and I tryed to use
"kill -s SIGCHILD parentID" but it doesn't work,
how to solve it without rebooting ? looks like
they are all childs of normal lynx processes, I
don't want to kill normal ones, I have dozens lynx
open with
06:20 < waressearcher2> web sites in screen and some of them have these
"[lynx] <defunct>", so I want to get rid of those
"defunct" ones
06:24 < waressearcher2> I don't know what are they, they just accumulated
over time, my system has 135 days uptime, and
there is only one "screen" run on it with 90 bash
consoles and I have 30 lynx processes and 24
<defunc> lynx processes, the total RAM is 1GB,
initially when I booted that system I had more
than 900MB free but little by little I 680MB
maximum and that is
06:24 < waressearcher2> because of those <defunc> processes, I need to
get rid of them
10:00 < RadoQ> why don't you just "kill -KILL" them?
10:00 < RadoQ> why SIGCHILD?
10:01 < RadoQ> maybe you started those in background with "&" and now they
sleep.
10:04 < waressearcher2> kill -KILL not working
10:06 < waressearcher2> that is what pstree shows:
10:06 < waressearcher2> | | `-lynx,16813
http://www.google.com/search?q=annulment&sourceid=opera&num=0&ie=utf-8&oe=u
tf-8
10:06 < waressearcher2> | | `-(lynx,6843)
10:06 < RadoQ> lynx normally doesn't spawn.
10:06 < waressearcher2> I'm trying "kill -KILL 6843" and it doesn't work,
what is that second "lynx,6843" process ?
10:07 < RadoQ> you called some external helper which died unluckily.
10:07 < waressearcher2> I run one lynx and opened google then one website
from the list and now there are two lynx processes
when one is defunc, why ?
10:07 < waressearcher2> RadoQ: so why it haven't been cleaned by parent ?
10:08 < RadoQ> waressearcher2, try with default config (rename .lynxrc and
lynx.cfg when you changed it).
10:08 < waressearcher2> RadoQ: you use "SIGCHILD" to tell parent to clean
up for their children that way all zombie can be
killed
11:44 < ivanshmakov> waressearcher2: But if the parent has somehow “lost
track” of that particular child, – SIGCHILD will
essentially be a no-op.


In this specific case, the parent probably did not lose access to
them, so, reaping is the correct fix.

On MirBSD, I only ever get one child process, though… he must be
using GNU/Linux or a similar inferiour OS ☺

bye,
//mirabilos
--
Hi, does anyone sell openbsd stickers by themselves and not packaged
with other products?
No, the only way I've seen them sold is for $40 with a free OpenBSD CD.
-- Haroon Khalid and Steve Shockley in gmane.os.openbsd.misc
Thomas Dickey
2014-08-27 21:05:21 UTC
Permalink
----- Original Message -----
| From: "Thorsten Glaser" <***@mirbsd.de>
| To: lynx-***@nongnu.org
| Sent: Wednesday, August 27, 2014 4:26:39 PM
| Subject: [Lynx-dev] lynx processes, please clean up after your children ; -)
|
| Hi,
|
| prodded by an IRC snippet I’ll reproduce below, I just had a look:
|
| ***@blau:~ $ ps x | fgrep lynx
| 17739 p7 ZW+ 0:00.00 (lynx)
| 4010 p7 I+ 1:08.53 lynx
|
| These are probably spawned by DNS. Please add the appropriate
| wait*() calls to immediately reap them, and SIGCHLD handling.

It does do that (for quite a long time), e.g., with waitpid.
--
Thomas E. Dickey <***@invisible-island.net>
http://invisible-island.net
ftp://invisible-island.net
Loading...