sleep=5
-core_sig[3]=1
-core_sig[4]=1
-core_sig[5]=1
-core_sig[6]=1
-core_sig[8]=1
-core_sig[11]=1
-
while [ true ]; do
- "$@"
- exit_code=$?
-
- if [ $exit_code -gt 128 ]; then
- [ "${core_sig[$(($exit_code-128))]}" != "1" ] && exit
- echo crun: $1 dumped core, restarting in $sleep seconds...
- sleep $sleep
- else
- exit
- fi
+ "$@"
+ exit_code=$?
+
+ if [ $exit_code -gt 128 ]; then
+ case $(($exit_code-128)) in
+ 3 | 4 | 5 | 6 | 8 | 11)
+ ;;
+ *)
+ exit;
+ esac
+ echo crun: $1 dumped core, restarting in $sleep seconds...
+ sleep $sleep
+ else
+ exit
+ fi
done