summarylogtreecommitdiffstats
path: root/smsd
diff options
context:
space:
mode:
Diffstat (limited to 'smsd')
-rw-r--r--smsd66
1 files changed, 66 insertions, 0 deletions
diff --git a/smsd b/smsd
new file mode 100644
index 000000000000..11a78d2c0398
--- /dev/null
+++ b/smsd
@@ -0,0 +1,66 @@
+#!/bin/bash
+
+if [ "$(whoami)" != "root" ]; then
+ echo "You must be root to start/restart/stop services."
+ exit 1
+fi
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+DESC="SMS Server Tools 3"
+
+PARAMS=""
+USER="smsd"
+GROUP="smsd"
+RUNDIR="/var/run/smsd"
+PIDFILE="$RUNDIR/smsd.pid"
+INFOFILE="$RUNDIR/smsd.working"
+LOGFILE="/var/log/smsd/smsd.log"
+
+[ -r "/etc/conf.d/smsd" ] && . /etc/conf.d/smsd
+
+PID=`cat $PIDFILE 2>/dev/null`
+
+case "$1" in
+ start)
+ stat_busy "Starting $DESC"
+ [ -n "$USER" ] && PARAMS="-u$USER $PARAMS"
+ [ -n "$GROUP" ] && PARAMS="-g$GROUP $PARAMS"
+ [ -n "$LOGFILE" ] && PARAMS="-l$LOGFILE $PARAMS"
+ if [ -z "$PID" ]; then
+ [ -d "$RUNDIR" ] || mkdir "$RUNDIR"
+ [ -n "$USER" ] && chown $USER "$RUNDIR"
+ [ -n "$GROUP" ] && chgrp $GROUP "$RUNDIR"
+ /usr/bin/smsd -n MAINPROCESS -p$PIDFILE -i$INFOFILE $PARAMS
+ sleep 1
+ PID=`cat $PIDFILE 2>/dev/null`
+ if [ -z "$PID" ]; then
+ stat_fail
+ exit 1
+ fi
+ add_daemon smsd
+ stat_done
+ else
+ echo -n "Already running!"
+ stat_fail
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping $DESC"
+ [ -n "$PID" ] && kill $PID &>/dev/null
+ if [ $? -gt 0 ]; then
+ echo -n "Not started!"
+ stat_fail
+ else
+ rm_daemon smsd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac