mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-23 10:15:12 +00:00
71 lines
No EOL
1.3 KiB
Bash
71 lines
No EOL
1.3 KiB
Bash
#!/bin/bash
|
|
|
|
# Simple bash script to start and stop a service
|
|
# Works without access to /var/run/ or ps and pidof commands
|
|
#
|
|
# Date:: Wed, 09 Jan 2008
|
|
# Author:: Sebastian Tschan, https://blueimp.net
|
|
# License:: GNU Affero General Public License
|
|
|
|
|
|
SERVICE_TITLE=Service
|
|
SERVICE_BASENAME=${0##*/}
|
|
SERVICE_DIR=${0%/$SERVICE_BASENAME}
|
|
SERVICE_COMMAND=$SERVICE_DIR/$SERVICE_BASENAME.rb
|
|
SERVICE_CONFIG=$SERVICE_DIR/$SERVICE_BASENAME.conf
|
|
SERVICE_LOG=$SERVICE_DIR/$SERVICE_BASENAME.log
|
|
SERVICE_PIDFILE=$SERVICE_DIR/$SERVICE_BASENAME.pid
|
|
|
|
|
|
function start
|
|
{
|
|
if [ -f $SERVICE_PIDFILE ]
|
|
then
|
|
echo "PID file $SERVICE_PIDFILE found - $SERVICE_TITLE already running?"
|
|
else
|
|
$SERVICE_COMMAND $SERVICE_CONFIG >> $SERVICE_LOG & echo "Started $SERVICE_TITLE..."
|
|
PID=$!
|
|
echo $PID > $SERVICE_PIDFILE
|
|
fi
|
|
exit 0
|
|
}
|
|
|
|
function stop
|
|
{
|
|
if [ -f $SERVICE_PIDFILE ]
|
|
then
|
|
PID=`cat $SERVICE_PIDFILE`
|
|
kill -TERM $PID
|
|
rm -f $SERVICE_PIDFILE
|
|
echo "Stopped $SERVICE_TITLE."
|
|
else
|
|
echo "PID file $SERVICE_PIDFILE not found - $SERVICE_TITLE not running?"
|
|
fi
|
|
exit 0
|
|
}
|
|
|
|
function main
|
|
{
|
|
for arg in $@
|
|
do
|
|
if [ $arg == "start" ]
|
|
then
|
|
start
|
|
elif [ $arg == "stop" ]
|
|
then
|
|
stop
|
|
else
|
|
echo "Unknown argument:" $arg
|
|
echo "Usage: $0 [start|stop]"
|
|
exit 0
|
|
fi
|
|
done
|
|
|
|
echo "Missing argument."
|
|
echo "Usage: $0 [start|stop]"
|
|
exit 0
|
|
}
|
|
|
|
|
|
# Script execution:
|
|
main $@ |