PKGBUILDs/aur/freeswitch-git/freeswitch.rc.conf
2012-04-22 18:19:39 -04:00

79 lines
1.4 KiB
Bash

#!/bin/bash
daemon_name=freeswitch
. /etc/rc.conf
. /etc/rc.d/functions
. /etc/conf.d/$daemon_name
get_pid() {
pidof -o %PPID $daemon_name
}
rundir=/run/freeswitch
[ -d $rundir ] || mkdir $rundir
chown freeswitch $rundir
case "$1" in
fgstart)
stat_busy "Starting $daemon_name daemon in the foreground"
stat_done
ulimit -s 240
exec su -c "/usr/bin/freeswitch $FREESWITCH_OPTS -nf" freeswitch
;;
start)
stat_busy "Starting $daemon_name daemon"
PID=$(get_pid)
if [ -z "$PID" ]; then
[ -f $rundir/$daemon_name.pid ] && rm -f $rundir/$daemon_name.pid
# RUN
ulimit -s 240
su -c "/usr/bin/freeswitch $FREESWITCH_OPTS" freeswitch
#
if [ $? -gt 0 ]; then
stat_fail
exit 1
else
echo $(get_pid) > $rundir/$daemon_name.pid
add_daemon $daemon_name
stat_done
fi
else
stat_fail
exit 1
fi
;;
stop)
stat_busy "Stopping $daemon_name daemon"
PID=$(get_pid)
# KILL
[ ! -z "$PID" ] && kill $PID &> /dev/null
#
if [ $? -gt 0 ]; then
stat_fail
exit 1
else
rm -f $rundir/$daemon_name.pid &> /dev/null
rm_daemon $daemon_name
stat_done
fi
;;
restart)
$0 stop
sleep 3
$0 start
;;
status)
stat_busy "Checking $daemon_name status";
ck_status $daemon_name
fs_cli -x 'status'
;;
*)
echo "usage: $0 {start|stop|restart|status|fgstart}"
esac
exit 0