slackbuilds/system/freeswitch/rc.freeswitch

71 lines
1.2 KiB
Bash

#!/bin/sh
#
# Start/stop/restart the FreeSWITCH daemon
# Written by Mario Preksavec <mario@slackware.hr>
USER=freeswitch
GROUP=freeswitch
BIN_FILE=/opt/freeswitch/bin/freeswitch
PID_FILE=/var/run/freeswitch/freeswitch.pid
RUN_ARGS="-nc -rp -nonat"
set_limits() {
ulimit -c unlimited
ulimit -d unlimited
ulimit -f unlimited
ulimit -i unlimited
ulimit -n 999999
ulimit -q unlimited
ulimit -u unlimited
ulimit -v unlimited
ulimit -x unlimited
ulimit -s 240
ulimit -l unlimited
}
start() {
echo -n "Starting FreeSWITCH: "
if [ -e $PID_FILE ] && [ -e /proc/$(cat $PID_FILE) ]; then
echo "Already running."
else
set_limits
$BIN_FILE $RUN_ARGS -u $USER -g $GROUP >/dev/null 2>&1
if [ $? -eq 0 ]; then
echo "Started."
else
echo "Failed starting."
fi
fi
}
stop() {
echo -n "Stopping FreeSWITCH: "
if [ -e $PID_FILE ] && [ -e /proc/$(cat $PID_FILE) ]; then
$BIN_FILE -stop >/dev/null 2>&1
if [ $? -eq 0 ]; then
echo "Stopped."
else
echo "Failed stopping."
fi
else
echo "Not running."
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 5
start
;;
*)
echo "USAGE: $0 {start|stop|restart}"
;;
esac