/etc/init.d/citadel is in citadel-server 8.24-1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | #!/bin/sh
### BEGIN INIT INFO
# Provides: citadel
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: control citadel server start at boot time
# Description: control citadel server start at boot time
### END INIT INFO
# uncomment this to create coredumps as described in
# http://www.citadel.org/doku.php/faq:mastering_your_os:gdb#how.do.i.make.my.system.produce.core-files
# ulimit -c unlimited
# Author: Wilfried Goesgens <citadel@outgesourced.org>
RUNDIR=/var/run/citadel
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Citadel Groupware "
NAME=citserver
DAEMON=/usr/sbin/$NAME
PIDFILE=$RUNDIR/citadel.pid
DAEMON_ARGS=" -d -x3 -lmail -t/dev/null"
SCRIPTNAME=/etc/init.d/citadel
SENDCOMMAND=/usr/sbin/sendcommand
# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0
# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
MODERN=
# Load the VERBOSE setting and other rcS variables
if test -f /lib/init/vars.sh ; then
. /lib/init/vars.sh
MODERN=1
fi
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
if test -f /lib/lsb/init-functions; then
. /lib/lsb/init-functions
MODERN=1
fi
#
# Function that starts the daemon/service
#
do_start()
{
# check our volatile dirs.
if test ! -d $RUNDIR; then
mkdir -p $RUNDIR
chmod go+rx $RUNDIR
fi
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
if $DAEMON \
$DAEMON_ARGS ; then
return 0
else
return 2
fi
}
#
# Function that stops the daemon/service
#
do_stop()
{
if test -S $RUNDIR/citadel.socket; then
sendcommand "DOWN" || :
fi
PID=`cat $PIDFILE 2>/dev/null || :`
if [ ! -z $PID ]; then
rm -f $PIDFILE
count=0;
while test -S /var/run/citadel/citadel.socket -o -d /proc/$PID; do
count=$(($count+1))
sleep 1
echo -n "."
if test "$count" = "10"; then
kill $PID >/dev/null 2>&1
fi
if test "$count" = "20"; then
kill -9 $PID >/dev/null 2>&1
rm -rf /var/run/citadel/*
fi
done
fi
return 0
}
#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
# Return
# 0 if daemon could not be restarted
# 1 if daemon has been restarted
# other if a failure occurred
if $SENDCOMMAND "DOWN 1" 2>&1|grep '200 Restarting'>/dev/null ; then
return 1
fi
return 0
}
case "$1" in
start)
if test -n "$MODERN"; then
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
else
echo "Starting $DESC" "$NAME"
fi
do_start
if test -n "$MODERN"; then
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
fi
;;
stop)
if test -n "$MODERN"; then
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
else
echo "Stopping $DESC" "$NAME"
fi
do_stop
if test -n "$MODERN"; then
[ "$VERBOSE" != no ] && log_end_msg 0
fi
;;
restart)
$0 stop
$0 start
;;
force-reload)
if test -n "$MODERN"; then
log_daemon_msg "Restarting $DESC" "$NAME"
else
echo "Restarting $DESC" "$NAME"
fi
do_reload
if test -n "$MODERN"; then
case "$?" in
0)
log_end_msg 0
;;
1)
# Failed to stop
log_end_msg 1
;;
esac
fi
;;
status)
status_of_proc "$DAEMON" $NAME
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 3
;;
esac
exit 0
|