[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Execution continuing after SIGINT received
From: |
Chet Ramey |
Subject: |
Re: Execution continuing after SIGINT received |
Date: |
Sat, 5 Aug 2017 10:53:41 -0400 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 |
On 8/4/17 7:52 PM, Kevin Brodsky wrote:
> When Bash receives SIGINT while executing a command, it normally waits
> for the command to complete, and then aborts execution. However, it
> looks like somehow, this is not the case if the command handles SIGINT,
> and execution continues after the command completes. For instance:
The question of what happens when bash receives SIGINT while waiting for a
foreground job to complete has come up many times in the past.
See this for a good discussion of the issue:
https://www.cons.org/cracauer/sigint.html
The basic idea is that the user intends a keyboard-generated SIGINT to go
to the foreground process; that process gets to decide how to handle it;
and bash reacts accordingly. If the process dies to due SIGINT, bash acts
as if it received the SIGINT; if it does not, bash assumes the process
handled it and effectively ignores it.
Consider a process (emacs is the usual example) that uses SIGINT for its
own purposes as a normal part of operation. If you run that program in a
script, you don't want the shell aborting the script unexpectedly as a
result.
Chet
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU chet@case.edu http://cnswww.cns.cwru.edu/~chet/