Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F9344697
daemon.sysv.erb
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
3 KB
Subscribers
None
daemon.sysv.erb
View Options
#!/bin/bash
#
# /etc/rc.d/init.d/
<%=
@name
%>
#
# Daemonize the prometheus
<%=
@name
%>
.
#
# chkconfig: 2345 95 20
# description: Prometheus
<%=
@name
%>
# processname:
<%=
@name
%>
# pidfile: /var/run/
<%=
@name
%>
/pidfile
# Source function library.
. /etc/init.d/functions
DAEMON=
<%=
@bin_dir
%>
/
<%=
@name
%>
PID_FILE=/var/run/
<%=
@name
%>
/
<%=
@name
%>
.pid
LOG_FILE=/var/log/
<%=
@name
%>
[ -e /etc/sysconfig/
<%=
@name
%>
] && . /etc/sysconfig/
<%=
@name
%>
export GOMAXPROCS=${GOMAXPROCS:-2}
#
# Create the /var/run/
<%=
@name
%>
directory, which can live on a tmpfs
# filesystem and be destroyed between reboots.
#
mkrundir() {
[ ! -d /var/run/
<%=
@name
%>
] && mkdir -p /var/run/
<%=
@name
%>
chown
<%=
@user
%>
/var/run/
<%=
@name
%>
}
#
# Create a PID file if it doesn't already exist, for clean upgrades
# from previous init-script controlled daemons.
#
KILLPROC_OPT="-p ${PID_FILE}"
mkpidfile() {
# Create PID file if it didn't exist
mkrundir
[ ! -f $PID_FILE ] && pidofproc $DAEMON > $PID_FILE
chown
<%=
@user
%>
/var/run/
<%=
@name
%>
if [ $? -ne 0 ] ; then
rm $PID_FILE
KILLPROC_OPT=""
fi
}
start() {
echo -n "Starting prometheus
<%=
@name
%>
: "
mkrundir
[ -f $PID_FILE ] && rm $PID_FILE
daemon --user=
<%=
@user
%>
\
--pidfile="$PID_FILE" \
<%-
require
'shellwords'
-%>
"$DAEMON"
<%=
Shellwords
.
escape
(
@options
)
%>
>> "$LOG_FILE" &
retcode=$?
mkpidfile
touch /var/lock/subsys/
<%=
@name
%>
return $retcode
}
stop() {
DELAY=5 # seconds maximum to wait for a leave
echo -n "Shutting down prometheus
<%=
@name
%>
: "
mkpidfile
<%=
@name
%>
_pid=$(cat $PID_FILE)
killproc $KILLPROC_OPT $DAEMON -INT
retcode=$?
# We'll wait if necessary to make sure the leave works, and return
# early if we can. If not, escalate to harsher signals.
try=0
while [ $try -lt $DELAY ]; do
if ! checkpid $
<%=
@name
%>
_pid ; then
rm -f /var/lock/subsys/
<%=
@name
%>
return $retcode
fi
sleep 1
let try+=1
done
# If acting as a server, use a SIGTERM to avoid a leave.
# This behavior is also configurable. Avoid doing a "leave" because
# having servers missing is a bad thing that we want to notice.
#
# A SIGTERM will mark the node as "failed" until it rejoins.
# killproc with no arguments uses TERM, then escalates to KILL.
killproc $KILLPROC_OPT $DAEMON
retcode=$?
rm -f /var/lock/subsys/
<%=
@name
%>
$PID_FILE
return $retcode
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status -p ${PID_FILE} $DAEMON
;;
restart)
stop
start
;;
reload)
mkpidfile
killproc $KILLPROC_OPT $DAEMON -HUP
;;
condrestart)
[ -f /var/lock/subsys/
<%=
@name
%>
] && restart || :
;;
*)
echo "Usage:
<%=
@name
%>
{start|stop|status|reload|restart}"
exit 1
;;
esac
retcode=$?
# Don't let the [OK] get stomped on.
echo
exit $retcode
File Metadata
Details
Attached
Mime Type
text/x-shellscript
Expires
Fri, Jul 4, 2:41 PM (4 d, 9 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3280096
Attached To
R141 puppet-puppet-prometheus
Event Timeline
Log In to Comment