This is the mail archive of the
mailing list for the Cygwin project.
RE: Ctrl-Break killing subprocess even though handled in parent process
- From: "Brien Oberstein" <brienpub at gmail dot com>
- To: <Brian dot Inglis at SystematicSw dot ab dot ca>, <cygwin at cygwin dot com>
- Date: Sun, 14 May 2017 09:43:05 -0400
- Subject: RE: Ctrl-Break killing subprocess even though handled in parent process
- Authentication-results: sourceware.org; auth=none
- References: <481e7869-941e-0b32-cc9d-7ae17726d05a@SystematicSw.ab.ca>
You know, I thought I tried this already, but somehow now its working.
From: Brian Inglis [mailto:Brian.Inglis@SystematicSw.ab.ca]
Sent: Saturday, May 13, 2017 12:29 PM
Subject: Re: Ctrl-Break killing subprocess even though handled in parent process
On 2017-05-13 03:42, Brien Oberstein wrote:
> I have a dotnet windows console application that runs a bash script
> as a subprocess using CreateProcess() under the covers.
> My windows app traps Ctrl-Break via SetConsoleCtrlHandler() and
> handles it (returning true from the handler).
> I execute the script via the command "bash.exe --login script.sh".
> Somehow the Ctrl-Break is reaching the subprocess and causing it to
> be killed, which is undesireable.
> Is there a way to either prevent the Ctrl-Break from reaching the
> cygwin subprocess or telling cygwin/bash to ignore it?
Add to top of script:
trap '' SIGINT SIGTERM
does equivalent of SIG_IGN (do nothing) on named signals.
$ info bash trap
$ help trap
in bash gives you more info.
Watch out for subshells, as signals are reset in subshells,
so you will need to set up the trap in all subshells.
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple