Was just playing around seeing how the sigint
being ignored in children acted.  wrote short
function:  This behavior seems limited to testing
this as a foregnd function, not a shell script.
I.e, sourcing the function, then
execute the function:
 lnch

function lnch {
 set -o monitor     # fyi makes no difference if present
 for((i=0;i++<3;)); do
   declare -i l=1+i
   (sleep $l ; echo "$l exiting")&
 done
 echo Waiting...
 wait
 echo wait finished with $?
}
====
If I let it finish, nothing interesting.
If I press control C after I see the "wait finished with 0", I get
another cmd prompt as normal, and pressing 'enter' does nothing special

If I press ^C after seeing "Waiting, ...",
but before "wait finished", then
I still see the "num exiting"... as previously mentioned
being normal behavior..., but then:

After the 3 sleepers exit, if I
either
press control-c again, then enter
or
enter, Ctl-c, enter
the shell will exit.

It seems the first control-c messes something up
such that entering another one after the children *really* finish
then enter (NL), exits the fg shell...  Reproducible?
Normal behavior?

 echo ${BASH_VERSION[@]}
4.3.39(1)-release





Reply via email to