Hi Group,
i have a strange problem. I work with my linux-box via telnet sessions from
windows-computers over LAN. When i abort the telnet session while a (don't
know the right terminus technicus) let it me call a "sub-process" started in
my telnet session (i.E. my Application i just work in, or a print-job
waiting for paper or whatever) without ending the all running sub-processes
properly (i.E. suddenly closing my telnet-window on my windows-box without
ending my Application yet running on the linux box in the telnet session)
this sub-process will hang forever in the processlist of my linux box.
If this happens sometimes and day after day, the process list of my linuxbox
will populate more and more with garbage and "long time ago and no more
needed" orphan processes.
As long as i used the 2.2. kernel, the telnetd process has checked the
connection regularly (via tcp_keepalive_time setting) and if the connection
no longer exists, terminated this telnet process *AND* all the subsequent
pending processes connected to this telnet session.
Since i updated to the 2.4. kernel, only the telnet session will end after
checking and timeout, but *NOT* the subsequent processes "within" this
telnet connection session.
When i telnet in as root and fire a kill -9 on this garbage processes they
will disappear. But it is annoying to be the garbage collector regularly by
myself after a few days and polish the processlist manually.
I never changed the applications i work within the telnet sessions since the
kernel-update. So i don't think there lays the problem. It is more likely
that there is a problem with my telnetd (Settings?).
Is there a new option in the 2.4. telnetd i missed. Or is there a known bug?
Or what do i wrong now (since it worked fine in the 2.2. Kernel)?
Any hint, URL, FAQ, workaround appreciated. Thx. for your patience and sorry
for bothering the group with maybe such a lame question.
Please enlighten me. TIA
Joerg Toellner
|