Bound command with timeout and kill

SIGTERM at 30s then SIGKILL after 5s grace; exit 124 means it was killed

timeout -k 5s 30s ./long_task.sh || echo "timed out: $?"

tool
bash12 commands
tags
bashtroubleshooting

More bash commands

  • exec 3>>audit.log; echo "$(date -Is) start" >&3; exec 3>&-

    Open fd 3 to a file, write to it independently of stdout, then close it

  • setopt extendedglob; print -l **/*(.); autoload zmv; zmv '(*).txt' '$1.bak'

    zsh: list only regular files recursively, then mass-rename safely with zmv

  • set -euo pipefail; IFS=$'\n\t'

    Fail fast on errors, unset vars, pipe failures; split only on newline/tab

  • tmp=$(mktemp -d); trap 'rm -rf "$tmp"' EXIT INT TERM

    Auto-remove mktemp dir on exit/signal; note: quote $tmp to survive spaces

  • diff <(kubectl get cm a -o yaml) <(kubectl get cm b -o yaml)

    Process substitution compares two streams without temp files

all 12 bash commands