1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
#!/bin/sh sleep=5 no_restart=0 if [ $1 == "--no-restart" ]; then no_restart=1 shift fi while [ true ]; do "$@" exit_code=$? if [ $exit_code -gt 128 ] && [ $no_restart -eq 0 ]; then case $(($exit_code-128)) in 3 | 4 | 5 | 6 | 8 | 11) ;; *) exit; esac echo ceph-run: $1 dumped core, restarting in $sleep seconds... sleep $sleep else exit fi done