/etc/init.d/chef-solr is in chef-solr 10.12.0+dfsg-2.
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: chef-solr
# Required-Start: $remote_fs $network
# Required-Stop: $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start a chef-solr.
### END INIT INFO
#
# Copyright (c) 2009-2010 Opscode, Inc <legal@opscode.com>
#
# chef-solr Startup script for chef-solr.
# chkconfig: - 84 02
# description: starts up chef-solr in daemon mode.
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/chef-solr
DAEMON_NAME=java
NAME=chef-solr
DESC=chef-solr
PIDFILE=/var/run/chef/solr.pid
test -x $DAEMON || exit 0
. /lib/lsb/init-functions
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
if [ ! -d /var/run/chef ]; then
mkdir /var/run/chef
chown $USER:$GROUP /var/run/chef
fi
if [ ! -f $LOGFILE ]; then
touch $LOGFILE
chown $USER:$GROUP $LOGFILE
fi
DAEMON_OPTS="-d -P $PIDFILE -c $CONFIG -L $LOGFILE -u $USER -g $GROUP"
running_pid() {
pid=$1
name=$2
[ -z "$pid" ] && return 1
[ ! -d /proc/$pid ] && return 1
cmd=`cat /proc/$pid/cmdline | tr '\000' '\n' | head -1`
[ "$cmd" != "$name" ] && return 1
return 0
}
running() {
[ ! -f "$PIDFILE" ] && return 1
pid=`cat $PIDFILE`
running_pid $pid $DAEMON_NAME || return 1
return 0
}
start_server() {
start_daemon -p $PIDFILE $DAEMON $DAEMON_OPTS
errcode=$?
for i in `seq 0 $MAXTRIES`
do
if running; then
errcode=0
break
else
[ -n "$STARTTIME" ] && sleep $STARTTIME
fi
done
return $errcode
}
stop_server() {
killproc -p $PIDFILE $DAEMON
errcode=$?
return $errcode
}
reload_server() {
[ ! -f "$PIDFILE" ] && return 1
pid=pidofproc $PIDFILE # This is the daemon's pid
/bin/kill -1 $pid
return $?
}
force_stop() {
[ ! -e "$PIDFILE" ] && return
if running ; then
/bin/kill -15 $pid
sleep "$DIETIME"s
if running ; then
/bin/kill -9 $pid
sleep "$DIETIME"s
if running ; then
echo "Cannot kill $NAME (pid=$pid)!"
exit 1
fi
fi
fi
rm -f $PIDFILE
}
case "$1" in
start)
log_daemon_msg "Starting $DESC " "$NAME"
if running ; then
log_progress_msg "apparently already running"
log_end_msg 0
exit 3
fi
if start_server ; then
[ -n "$STARTTIME" ] && sleep $STARTTIME # Wait some time
if running ; then
log_end_msg 0
else
log_end_msg 1
fi
else
log_end_msg 1
fi
;;
stop)
log_daemon_msg "Stopping $DESC" "$NAME"
if running ; then
errcode=0
stop_server || errcode=$?
log_end_msg $errcode
else
log_progress_msg "apparently not running"
log_end_msg 0
exit 0
fi
;;
force-stop)
$0 stop
if running; then
log_daemon_msg "Stopping (force) $DESC" "$NAME"
errcode=0
force_stop || errcode=$?
log_end_msg $errcode
fi
;;
restart|force-reload)
log_daemon_msg "Restarting $DESC" "$NAME"
errcode=0
stop_server || errcode=$?
[ -n "$DIETIME" ] && sleep $DIETIME
start_server || errcode=$?
[ -n "$STARTTIME" ] && sleep $STARTTIME
running || errcode=$?
log_end_msg $errcode
;;
status)
log_daemon_msg "Checking status of $DESC" "$NAME"
if running ; then
log_progress_msg "running"
log_end_msg 0
else
log_progress_msg "apparently not running"
log_end_msg 1
exit 1
fi
;;
reload)
log_warning_msg "Reloading $NAME daemon: not implemented, as the daemon"
log_warning_msg "cannot re-read the config file (use restart)."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|force-stop|restart|force-reload|status}" >&2
exit 1
;;
esac
exit 0
|