diff options
author | Mark Spencer <markster@digium.com> | 2002-05-27 23:15:47 +0000 |
---|---|---|
committer | Mark Spencer <markster@digium.com> | 2002-05-27 23:15:47 +0000 |
commit | 44ec0d02a233f5a3490e62dd4018fea432e9594b (patch) | |
tree | 75f2098f4e11e1fc559d3745ee6dd8f68a36d51e /contrib | |
parent | a734901dee184f3a04dc6306ab7133263777263a (diff) |
Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@452 65c4cc65-6c06-0410-ace0-fbb531ad65f3
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 |