#!/usr/bin/env bash set -eu -o pipefail function handle_sigterm(){ printf '%s\n' 'Ignored SIGTERM' >&2 } # Handle SIGTERM trap 'handle_sigterm' TERM printf '%s%s%s\n' 'START. Can be terminated with "kill -TERM ' "$$" '"' while :; do printf '%s\n' 'sleeping 10s' sleep 10s printf '%s\n' 'awoke from sleep' done printf '%s\n' 'END' # When executing `kill -TERM $PID` in another terminal, # the command `sleep 10s` continues. # After it has finished, `Ignored SIGTERM` is printed and the endless loop continues.