diff options
Diffstat (limited to 'src/ceph-run')
-rwxr-xr-x | src/ceph-run | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/ceph-run b/src/ceph-run new file mode 100755 index 000000000..764101c56 --- /dev/null +++ b/src/ceph-run @@ -0,0 +1,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 |