Mail Archives: cygwin/2006/10/29/20:16:43
> ---------- Forwarded message ----------
> From: Christopher Faylor <cgf-no-personal-reply-please AT cygwin DOT com>
> 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/
- Raw text -