Description of Problem: When a terminal (gnome-terminal or xterm tested) is exited via the window manager (destroying the window, or using the x button), child processes are killed. If the shell itself is exited with control-d child processes remain active. This happens with both metacity and sawfish window managers. The inconsistent behaviour is bad UI... and I would argue that child processes which have been backgrounded should remain alive in both cases. (which is the behaviour seen with tcsh for example ) To reproduce: xterm (in the new terminal) xeyes & close the xterm window, and xeyes will also exit. If you start tcsh before running xeyes, the xeyes will persist after the xterm is closed.
Works as intended in KDE... Bug in gnome-terminal?
Every terminal I've ever used has worked this way (you have to type "disown" in bash to keep a background job from dying with the terminal). I can see how it might be considered a feature, e.g. if you kill a window containing an ssh session you probably want the ssh session to die, right? I don't really know in detail why the jobs die though (SIGHUP?)
In the case of the ssh session, I would expect it to still be active in the shell rather than something which had detached. And I at least see the same behaviour with konsole, xterm and gnome-terminal when running bash, but not with tcsh.
Hi Norm, This behavior is defined by your login shell. If you feel the behavior of your shell is wrong, please open a bug filed against the component for your shell. Thanks.