background
bash 4.2
I have two files envar and main.sh
envar
... # displays a spinner so that user knows the job is under processing. spinner() { spin='-\|/' i=0 while kill -0 $1 2>/dev/null do i=$(( (i+1) %4 )) printf "\e[1;33m" printf "\r${spin:$i:1}" printf "\e[m" sleep .1 done } ... main.sh
source envar very_slow_and_dangerous_function & pid=$! spinner $pid echo "$jobs done" The problem
When someone press ctrl-c during spinner $pid the background shell becomes motherless.
I want both shells killed when ctrl-c or any other force signals happen.
How do I use Trap here?
bashbut don't show a shebang or mention if you launch withbash main.shorsh main.shor something else.sourceis not portable, it's a bashishm for the standard.command. I doubt it will be relevant, but you never know.#!/bin/bash. Thank you for the insight I didn't know source was bash only.