diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2002-05-27 23:15:47 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2002-05-27 23:15:47 +0000 |
commit | 07a752d5ddd1fb00dbf35610c37339ebddc1e532 (patch) | |
tree | 75f2098f4e11e1fc559d3745ee6dd8f68a36d51e /contrib | |
parent | 2977c5a03e59ade186502d9867158419b7d0f727 (diff) |
Version 0.1.12 from FTP
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@452 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'contrib')
-rwxr-xr-x | contrib/scripts/safe_asterisk | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/contrib/scripts/safe_asterisk b/contrib/scripts/safe_asterisk new file mode 100755 index 000000000..584e854d2 --- /dev/null +++ b/contrib/scripts/safe_asterisk @@ -0,0 +1,47 @@ +#!/bin/sh +TTY=9 # TTY (if you want one) for Asterisk to run on +CONSOLE=yes # Whether or not you want a console +NOTIFY= # Who to notify about crashes +# +# Don't fork when running "safely" +# +ASTARGS="-f" +if [ "$TTY" != "" ]; then + ASTARGS="${ASTARGS} -vvv" + if [ "$CONSOLE" != "no" ]; then + ASTARGS="${ASTARGS} -c" + fi +fi + +# +# Let Asterisk dump core +# +ulimit -c unlimited + +while :; do + + if [ "$TTY" != "" ]; then + stty sane < /dev/tty${TTY} + asterisk ${ASTARGS} >& /dev/tty${TTY} < /dev/tty${TTY} + else + asterisk ${ASTARGS} + fi + EXITSTATUS=$? + #echo "Asterisk ended with exit status $EXITSTATUS" + if [ "$EXITSTATUS" = "0" ]; then + # Properly shutdown.... + echo "Asterisk shutdown normally." + exit 0 + elif [ $EXITSTATUS -gt 128 ]; then + let EXITSIGNAL=EXITSTATUS-128 + echo "Asterisk exited on signal $EXITSIGNAL." + if [ "$NOTIFY" != "" ]; then + echo "Asterisk exited on signal $EXITSIGNAL. Might want to take a peek." | \ + mail -s "Asterisk Died" $NOTIFY + fi + else + echo "Asterisk died with code $EXITSTATUS. Aborting." + exit 0 + fi + echo "Automatically restarting Asterisk." +done |