139 lines
3.4 KiB
Bash
139 lines
3.4 KiB
Bash
|
#!/bin/sh
|
||
|
# init.d script for Caudium. Set the variables below to something fitting..
|
||
|
# This is only an example script.
|
||
|
#############
|
||
|
|
||
|
# The server directory where the 'start' script is located.
|
||
|
#
|
||
|
caudiumhome=@@PREFIX@@/caudium/server/
|
||
|
|
||
|
# Set this to something unique to be able to stop, reload and restart
|
||
|
# with this init script. It will override the setting in the config
|
||
|
# interface. '0' is typically replaced with the uid.
|
||
|
#
|
||
|
pidfile=/tmp/caudium_pid
|
||
|
|
||
|
# Set these to kill all processes owned by wwwuser on stop. Useful to
|
||
|
# reap CGI scripts.
|
||
|
#
|
||
|
# killallwww=yes
|
||
|
# wwwuser=www
|
||
|
|
||
|
umask 022
|
||
|
|
||
|
# If you want to start with another configuration directory:
|
||
|
#
|
||
|
# configdir=dirname
|
||
|
|
||
|
# Here you can add extra flags to the start script, like enabling or
|
||
|
# disabling threads.
|
||
|
#
|
||
|
# flags="--without-threads"
|
||
|
flags="--with-threads"
|
||
|
|
||
|
### Check if that caudium is configured...
|
||
|
if [ ! -f @@PREFIX@@/caudium/configurations/Global_Variables ]
|
||
|
then
|
||
|
echo "This server need some configuration...."
|
||
|
echo "Please login as caudium user and go to @@PREFIX@@/caudium/server"
|
||
|
echo "and type ./install to configure your server...."
|
||
|
exit 0
|
||
|
fi
|
||
|
|
||
|
### You should not _have_ to change anything below here...
|
||
|
|
||
|
test -n "$pidfile" && flags="$flags --pid-file=$pidfile"
|
||
|
test -n "$configdir" && flags="$flags --config-dir=$configdir"
|
||
|
|
||
|
case $1 in
|
||
|
'start')
|
||
|
echo "Starting Caudium from $caudiumhome..."
|
||
|
if [ -z "$pidfile" ]; then
|
||
|
echo "Warning: No pid file set - cannot stop or reload."
|
||
|
elif [ -f "$pidfile" ]; then
|
||
|
read pid < $pidfile
|
||
|
if kill -0 $pid ; then
|
||
|
echo "Caudium is already running."
|
||
|
exit 0
|
||
|
fi
|
||
|
rm -f $pidfile
|
||
|
if [ -f "$pidfile" ]; then
|
||
|
echo Cannot remove pid file $pidfile
|
||
|
exit 1
|
||
|
fi
|
||
|
fi
|
||
|
if [ -x "$caudiumhome/start" ]; then
|
||
|
cd $caudiumhome
|
||
|
./start $flags 2>/dev/null
|
||
|
echo "Done."
|
||
|
else
|
||
|
echo "I cannot find the Caudium dir '('$caudiumhome')'"
|
||
|
fi
|
||
|
;;
|
||
|
|
||
|
'reload')
|
||
|
if [ -z "$pidfile" ] ; then
|
||
|
echo "No pid file set."
|
||
|
exit 1
|
||
|
fi
|
||
|
echo "Reloading configurations..."
|
||
|
if [ -f $pidfile ] ; then
|
||
|
read pid < $pidfile
|
||
|
kill -HUP $pid || kill 1 $pid
|
||
|
exit 0
|
||
|
fi
|
||
|
echo "Caudium doesn't seem to be running."
|
||
|
;;
|
||
|
|
||
|
'restart')
|
||
|
if [ -z "$pidfile" ] ; then
|
||
|
echo "No pid file set."
|
||
|
exit 1
|
||
|
fi
|
||
|
echo Restarting Caudium...
|
||
|
if [ -f "$pidfile" ] ; then
|
||
|
read pid < $pidfile
|
||
|
kill -INT $pid || kill 2 $pid
|
||
|
rm "$pidfile"
|
||
|
echo Done.
|
||
|
exit 0
|
||
|
fi
|
||
|
echo "Caudium doesn't seem to be running."
|
||
|
echo Starting a new Caudium in $caudiumhome...
|
||
|
if [ -x "$caudiumhome/start" ]; then
|
||
|
cd $caudiumhome
|
||
|
./start $flags 2>/dev/null
|
||
|
else
|
||
|
echo "I cannot find the Caudium dir '('$caudiumhome')'"
|
||
|
fi
|
||
|
echo "Done."
|
||
|
;;
|
||
|
|
||
|
'stop')
|
||
|
if [ -z "$pidfile" ] ; then
|
||
|
echo "No pid file set."
|
||
|
exit 1
|
||
|
fi
|
||
|
echo "Stopping Caudium..."
|
||
|
if [ -f $pidfile ] ; then
|
||
|
if kill `cat $pidfile` ; then
|
||
|
echo Caudium stopped.
|
||
|
fi
|
||
|
rm $pidfile
|
||
|
else
|
||
|
echo "Caudium doesn't seem to be running."
|
||
|
fi
|
||
|
# Get all the CGI scripts... :-)
|
||
|
if [ x$killallwww = xyes ] ; then
|
||
|
echo Killing all programs running as the $wwwuser user.
|
||
|
su $wwwuser -c "kill -9 -1"
|
||
|
fi
|
||
|
;;
|
||
|
|
||
|
*)
|
||
|
echo "Syntax: $0 [start|stop|restart|reload]"
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
exit 0
|