I figured out this happens only if something was run from bash. For
example, irssi. If disconnection occured when there was only bash
active, it does not become <defunct> but stays forever with flag 'I'
in processes.
On 8/30/06, burning shadow <[EMAIL PROTECTED]> wrote:
Since cygwin1.dll version 1.5.20 I get bash processes became <defunct>
sometimes after SSH session disconnects. For example, today there was
a network problem and my SSH session got broken, after I reconnected,
there was 1 <defunct> process. Sometimes this does not happen. All
components I am using are updated to latest release available.
This is something to show what is happening:
[EMAIL PROTECTED]:~$ ps -a
PID PPID PGID WINPID TTY UID STIME COMMAND
1588 1 1588 1588 ? 18 Aug 29 /usr/bin/cygrunsrv
1640 1588 1640 1488 ? 18 Aug 29 /usr/sbin/sshd
1532 1640 1532 1228 ? 18 12:37:45 <defunct>
1576 1640 1576 1676 ? 18 12:22:09 <defunct>
I 1136 1 1136 1748 3 1000 14:11:20 /usr/bin/bash
1496 1516 1496 1568 4 1000 16:58:58 /usr/bin/bash
1088 1496 1088 1644 4 1000 17:08:08 /usr/bin/ps
[EMAIL PROTECTED]:~$ kill -9 1136
-bash: kill: (1136) - No such process
[EMAIL PROTECTED]:~$ /bin/kill.exe -f 1136
kill: couldn't open pid 1748
[EMAIL PROTECTED]:~$ /bin/kill.exe -f 1748
kill: couldn't open pid 1748
[EMAIL PROTECTED]:~$ kill -9 1532
-bash: kill: (1532) - No such process
[EMAIL PROTECTED]:~$ /bin/kill.exe -f 1532
kill: couldn't open pid 1228
[EMAIL PROTECTED]:~$ /bin/kill.exe -f 1228
kill: couldn't open pid 1228
[EMAIL PROTECTED]:~$ ps -W |grep -e bash -e defunct
1532 1640 1532 1228 ? 18 12:37:45 <defunct>
1576 1640 1576 1676 ? 18 12:22:09 <defunct>
I 1136 1 1136 1748 3 1000 14:11:20 /usr/bin/bash
1496 1516 1496 1568 4 1000 16:58:58 /usr/bin/bash
[EMAIL PROTECTED]:~$ pslist |grep bash
bash 1620 8 4 111 2208 0:00:00.350 5:48:55.546
bash 588 8 4 111 2208 0:00:00.120 5:04:13.920
bash 1568 8 4 123 2236 0:00:00.310 0:23:27.237
bash 1524 8 2 72 1532 0:00:00.040 0:00:00.070
bash 1664 8 2 55 1456 0:00:00.030 0:00:00.040
Note: pslist is an external utility from sysinternals.
[EMAIL PROTECTED]:~$ type pslist
pslist is /d/tools/bin/pslist
I also want to mention that before 1.5.20 bash processes just remained
in memory and I had to kill them manually. It would be much better if
they'd got killed upon SSH disconnection, like it happens in normal
unix environment.
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/