mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 20:04:50 +00:00
Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@452 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
47
contrib/scripts/safe_asterisk
Executable file
47
contrib/scripts/safe_asterisk
Executable file
@@ -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
|
Reference in New Issue
Block a user