This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Control-c of a bat file does not kill commands run by bat file in some cases

On Fri, 18 Jul 2008, Mark Charney wrote:

Is this a bug or a feature?

When I run a program loop.exe   whose entire source is "int main()
{   while(1);  return 0;}", compiled with MS VS8 or cygwin's gcc,
from a bat file whose contents are just "loop.exe" and hit
control-c while it is running, sometimes cygwin kills the loop.exe
and sometimes it does not. Here are the 6 scenarios that I tried:

1. OKAY tcsh  from a cmd.exe
2. OKAY bash from a cmd.exe
3. BROKEN tcsh from an rxvt X window  on local machine
4. BROKEN bash from an rxvt X window on local machine
5. BROKEN tcsh via ssh from a remote machine  (public key auth)
6. BROKEN bash via ssh from a remote machine (public key auth)

OKAY means it kills the bat file and loop.exe
BROKEN means loop.exe continues to run after control-c.

bash/tcsh doesn't not seem to matter, I just did it because I first noticed the problem on tcsh.


The thing that is varying, it seems to me, is your perceived
terminal type. I mean as perceived by the system. Try the
3 ways of connecting {cmd, rxvt, ssh} against stty -a
echo $TERM
to see what these things are. I think stty -a should suffice
to tell you what "intr" is. Or, in other words, you may have
to hit something other than <ctrl-C> to kill things, unless you
reset it with stty.


-- Unsubscribe info: Problem reports: Documentation: FAQ:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]