Hari Krishna Dara <haridara <at> gmail.com> writes: > > > ---------- Forwarded message ---------- > > From: Christopher Faylor <cgf-no-personal-reply-please <at> cygwin.com> > > To: cygwin <at> cygwin.com > > Date: Sat, 28 Oct 2006 00:16:09 -0400 > > Subject: Re: rxvt: Ctrl+C leaves child process of native processes > > On Fri, Oct 27, 2006 at 05:40:36PM -0700, Hari Krishna Dara wrote: > > >When I hit ^C in an rxvt window (no X), it doesn't result in killing > > >all the child processes. > > > > > >In this specific case, I am running ant, either through ant.bat, ant > > >(shell script) or through a custom perl wrapper (which directly > > >executes java bypassing ant.bat or ant). > > > > > >When the perl wrapper is used it is started from another batch file, > > >so here is how the process execution: > > >- batch starts a perl command > > >- perl command starts java (ant) > > >- ant starts another java process > > > > > >The process tree as shown by sysinternals' process explorer is: > > > > > >bash > > > cmd > > > perl > > > java > > > java > > > > > >When I hit ^C, bash and cmd exit immediately leaving perl and the two > > >java processes. > > > > Cygwin has no way of knowing what the children of non-cygwin > > subprocesses are. So, as you've found, if you don't use a Cygwin > > program, you won't get linux-like signal results. This shouldn't be > > *too* surprising. > > I don't completely agree with you. If that is the case, then hitting > ^C in any bash shell should behave the same, but for bash running in a > native terminal it works as expected. it is not uncommon for make and > other build systems to span number of child processes, and it would be > a havoc if these didn't get killed properly (and would make cygwin > almost unusable). I believe that the problem has something to do with > rxvt. >
I have a somewhat simpler version of the same issue: 1. Start a bash shell using the standard cywin batch file under XP. The batch file contains: @echo off C: chdir C:\cygwin\bin bash --login -i 2. Run the following command: rxvt -sl 200 -e bash --login -i rxvt opens a new window with a bash shell. Windows reports two bash processes. If I use the close button on the rxvt window, the rxvt terminates but both bash processes remain. The second process is an orphaned child from rxvt. This was done using a standard cygwin install onto XP as of 6 Nov 2006. -- 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/