X-Spam-Check-By: sourceware.org Message-ID: Date: Sun, 29 Oct 2006 17:16:28 -0800 From: "Hari Krishna Dara" To: cygwin AT cygwin DOT com Subject: Re: cygwin Digest 28 Oct 2006 14:33:34 -0000 Issue 5237 In-Reply-To: <1162046014.3618.ezmlm@cygwin.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <1162046014 DOT 3618 DOT ezmlm AT cygwin DOT com> Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com > ---------- Forwarded message ---------- > From: Christopher Faylor > To: cygwin AT cygwin DOT 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. -- Hari -- 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/